#
摘要: 題目的意思是給你一個數組,大小是N,初始的時候,a[1-N]均為1,然后有Q個操作,每次操作修改某個區間中的值,求最后整個區間1-N的和。線段樹解決
#include<iostream>using namespace std;int const maxn=100100;struct node{ &nb...
閱讀全文
先我對今天的A題表示深深的無語,居然是直接暴力,有點技術含量行不行啊。。。打一張10^7次方的素數表,居然可以過。。。
C題其實很簡單,數據中給了個10^6次方的數據,很明顯是用來hash的。。。
其他的題基本沒看,卡了第一題后心態不是太好了。。。恩 聽說H是個簡單題來著。。。看來我還缺乏些判斷簡單題的眼力。。。
老實說我覺得今天的題出的不好,當然我不能直接那么說。不過要繼續努力哈,只是結對前最后一次比賽居然這么囧。
先貼個代碼,博弈問題還要繼續深究,special thanks to thinkking!
原題:
Input
Output
SampleInput
2
5 2
2 2
2 3
5 2
3 3
2 3
SampleOutput
Case 1: Alice
Case 2: Bob
#include<iostream>
#include<cmath>
using namespace std;

int n,m;

int dir[2][2]=
{
{-1,-2},
{-2,-1}};

bool god(int x,int y)


{
if(x<1||x>500||y<1||y>500)
return false;
return true;
}
int const maxn=510;
int SG[maxn][maxn];

struct node


{
int x,y;
}q[20020];

int v[3];
int main()


{

int ca;
scanf("%d",&ca);
int cn=0;
for(int i=1;i<=500;i++)

{
for(int j=1;j<=500;j++)

{
memset(v,0,sizeof(v));
for(int k=0;k<2;k++)

{

int nx=i+dir[k][0];
int ny=j+dir[k][1];
if(god(nx,ny))

{
v[SG[nx][ny]]=1;
}
}
for(int k=0;k<=2;k++)

{
if(v[k]==0)

{
SG[i][j]=k;
break;
}
}

}
}
while(ca--)

{
cn++;
scanf("%d%d",&n,&m);
for(int i=1;i<=m;i++)
scanf("%d%d",&q[i].x,&q[i].y);
int ans=0;
for(int i=1;i<=m;i++)

{
ans^=SG[q[i].x][q[i].y];
}
if(ans)
printf("Case %d: Alice\n",cn);
else
printf("Case %d: Bob\n",cn);
}
return 0;
}
摘要: 被稱為不做人生不完整的題,昨天用A*過了,晚上請教了yayamao大神雙向廣搜的精髓,今天決定用雙廣實現一下。從時間效率來看,用雙廣實現似乎比A*略微慢一點,不過從應用的廣度來看,雙向廣度優先搜索顯然比A*用得要廣,所以學會雙廣是很有意義的。總結一下幾種搜索算法吧BFSDFS一般都是這兩種DBFS在一個節點擴展出來的子節點特別多時使用A*在特殊的問題上面使用,范圍窄IDA*,基本用不著,不學了。。...
閱讀全文
摘要: 從兩個方向分別擴展,效率果然好很多^_^總算對雙廣有點了解了,再做點題應該就會熟悉了吧
#include<iostream>#include<algorithm>#include<map>#include<queue>using namespace std;bool can;int m,n,ans;struc...
閱讀全文
摘要: 特來YM+學習A*算法,A*果然快啊,在pku上曾經寫過一個BFS,300MS,去航電直優化的空間接TLE.用A*算法北大16MS,航電750MS,效率很高啊。當然我的A*寫得還不是特別好,航電上有16MS AC那道題的,看來這個A*還有優化的空間。A*采用啟發式搜索的思維方式很值得借鑒!F=G+H
#include<iostream>#include<cmath>#in...
閱讀全文
摘要:
難度感覺還好吧,最后一題那么簡單居然沒過有點后悔,而且做RSA浪費了大量時間導致后來沒有時間看別的題,這一點要注意下。不然有很多能過的題過不了,這就比較遺憾了。A. 剩下的士兵 就是對n不斷地除以m,直到比m小為止,同時記錄除了幾次,然后將剩下的數字乘以mN次即可得到答案。#include<ios...
閱讀全文
摘要: 第一題 水題 秒掉
#include<iostream>#include<algorithm>#include<cstring>#include<string>#include<vector>using namespace std;int f(vector <string> names,stri...
閱讀全文
一點浩然氣,千里快哉風,小小的感染算什么,想想當年腳差點斷了都不怕,挺一挺,人定勝天!
最小割
線段樹+掃描線(矩形面積并)
高級線段樹(航電A題)
菲薄拉齊數列logn解法 非矩陣乘法
dinic模板
多邊形切割 福大月賽題
復習:后綴數組,RMQ, 歐拉回路,哈密頓回路...