#
摘要: 题目的意思是给你一个数组,大小是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, 欧拉回路,哈密顿回路...