#
摘要: 題目的意思是給你一個(gè)數(shù)組,大小是N,初始的時(shí)候,a[1-N]均為1,然后有Q個(gè)操作,每次操作修改某個(gè)區(qū)間中的值,求最后整個(gè)區(qū)間1-N的和。線段樹解決
#include<iostream>using namespace std;int const maxn=100100;struct node{ &nb...
閱讀全文
先我對(duì)今天的A題表示深深的無語,居然是直接暴力,有點(diǎn)技術(shù)含量行不行啊。。。打一張10^7次方的素?cái)?shù)表,居然可以過。。。
C題其實(shí)很簡(jiǎn)單,數(shù)據(jù)中給了個(gè)10^6次方的數(shù)據(jù),很明顯是用來hash的。。。
其他的題基本沒看,卡了第一題后心態(tài)不是太好了。。。恩 聽說H是個(gè)簡(jiǎn)單題來著。。。看來我還缺乏些判斷簡(jiǎn)單題的眼力。。。
老實(shí)說我覺得今天的題出的不好,當(dāng)然我不能直接那么說。不過要繼續(xù)努力哈,只是結(jié)對(duì)前最后一次比賽居然這么囧。
先貼個(gè)代碼,博弈問題還要繼續(xù)深究,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*過了,晚上請(qǐng)教了yayamao大神雙向廣搜的精髓,今天決定用雙廣實(shí)現(xiàn)一下。從時(shí)間效率來看,用雙廣實(shí)現(xiàn)似乎比A*略微慢一點(diǎn),不過從應(yīng)用的廣度來看,雙向廣度優(yōu)先搜索顯然比A*用得要廣,所以學(xué)會(huì)雙廣是很有意義的。總結(jié)一下幾種搜索算法吧BFSDFS一般都是這兩種DBFS在一個(gè)節(jié)點(diǎn)擴(kuò)展出來的子節(jié)點(diǎn)特別多時(shí)使用A*在特殊的問題上面使用,范圍窄IDA*,基本用不著,不學(xué)了。。...
閱讀全文
摘要: 從兩個(gè)方向分別擴(kuò)展,效率果然好很多^_^總算對(duì)雙廣有點(diǎn)了解了,再做點(diǎn)題應(yīng)該就會(huì)熟悉了吧
#include<iostream>#include<algorithm>#include<map>#include<queue>using namespace std;bool can;int m,n,ans;struc...
閱讀全文
摘要: 特來YM+學(xué)習(xí)A*算法,A*果然快啊,在pku上曾經(jīng)寫過一個(gè)BFS,300MS,去航電直優(yōu)化的空間接TLE.用A*算法北大16MS,航電750MS,效率很高啊。當(dāng)然我的A*寫得還不是特別好,航電上有16MS AC那道題的,看來這個(gè)A*還有優(yōu)化的空間。A*采用啟發(fā)式搜索的思維方式很值得借鑒!F=G+H
#include<iostream>#include<cmath>#in...
閱讀全文
摘要:
難度感覺還好吧,最后一題那么簡(jiǎn)單居然沒過有點(diǎn)后悔,而且做RSA浪費(fèi)了大量時(shí)間導(dǎo)致后來沒有時(shí)間看別的題,這一點(diǎn)要注意下。不然有很多能過的題過不了,這就比較遺憾了。A. 剩下的士兵 就是對(duì)n不斷地除以m,直到比m小為止,同時(shí)記錄除了幾次,然后將剩下的數(shù)字乘以mN次即可得到答案。#include<ios...
閱讀全文
摘要: 第一題 水題 秒掉
#include<iostream>#include<algorithm>#include<cstring>#include<string>#include<vector>using namespace std;int f(vector <string> names,stri...
閱讀全文
一點(diǎn)浩然氣,千里快哉風(fēng),小小的感染算什么,想想當(dāng)年腳差點(diǎn)斷了都不怕,挺一挺,人定勝天!
最小割
線段樹+掃描線(矩形面積并)
高級(jí)線段樹(航電A題)
菲薄拉齊數(shù)列l(wèi)ogn解法 非矩陣乘法
dinic模板
多邊形切割 福大月賽題
復(fù)習(xí):后綴數(shù)組,RMQ, 歐拉回路,哈密頓回路...