X-man

导航

上一页 1 ··· 32 33 34 35 36 37 38 39 40 ··· 59 下一页

2013年10月3日 #

ACM经验(转载自acmrong)

摘要: 1.比赛中评测会有些慢,偶尔还会碰到隔10分钟以上才返回结果的情况,这段时间不能等结果,必须开工其他题,如果WA,两道题同时做。交完每道题都要先打印。2. 比赛时发的饭不是让你当时就吃的,那是给你赛后吃的。基本上比赛中前几名的队都没人吃,除非领先很多。3. 很多选手,尤其是第一次参加比赛的,到一个新环境,全当旅游了,参观的参观,找同学的找同学,玩玩乐乐就把正事抛到脑后了,结果比赛自然没什么好成绩,这样的例子太多了。所以到参赛地后要时刻不忘自己是来比赛的,好好休息、备战。4. 参赛前一天要睡10个小时以上,非常有助于保持比赛中的精力,很多时候比赛到3个多小时队员就没劲了就是这个原因。前一天晚饭与 阅读全文

posted @ 2013-10-03 10:45 雨钝风轻 阅读(139) 评论(0) 推荐(0) 编辑

hdu 4111 Alice and Bob(中档博弈题)

摘要: copy VS study1.每堆部是1的时候,是3的倍数时输否则赢;2.只有一堆2其他全是1的时候,1的堆数是3的倍数时输否则赢;3.其他情况下,计算出总和+堆数-1,若为偶数,且1的堆数是偶数,则一定输;4.不在上述情况下则赢。#includeint main(){ int js=0; int _case,i,n,x; int flag1,flag2,flag,sum; scanf("%d",&_case); while(_case--) { js++; flag1=0; flag2=0; flag... 阅读全文

posted @ 2013-10-03 10:41 雨钝风轻 阅读(578) 评论(0) 推荐(0) 编辑

2013年10月2日 #

hdu 1515 Anagrams by Stack

摘要: 题解:第一:两个字符不相等(即栈顶字符与目标字符不相等);这种情况很容易处理,将匹配word的下一个字符入栈,指针向后挪已为继续递归。第二:两个字符相等(即栈顶字符与目标字符相等);这种情况有两种选择 (1)字符出栈,并将目标word的指针向后挪一位,继续递归;(2)将匹配word的下一个字符入栈,指针向后挪一位,继续递归;每一次递归用path记录下来路径。当目标word的指针超过最后一位了,说明成功,此时将path输出。#include#include#includeusing namespace std;char str1[1005],str2[1005];int len1,len2;ch 阅读全文

posted @ 2013-10-02 20:08 雨钝风轻 阅读(235) 评论(0) 推荐(0) 编辑

hdu 1567 2006 (题意理解容易出错)

摘要: #include#include#includeusing namespace std;struct Node{ int x,y;} p;bool cmp(Node a,Node b){ if(a.xve;int main(){ int n,m; int x,y,flag; int i,j; while(scanf("%d",&n)!=EOF) { flag=1; ve.clear(); m=n; n=n*(n-1)/2; for(i=0; iy) { ... 阅读全文

posted @ 2013-10-02 19:47 雨钝风轻 阅读(282) 评论(0) 推荐(0) 编辑

c++随机函数

摘要: C++随机函数(VC program):#include #include #include using namespace std;#define MAX 100int main(int argc, char* argv[]){srand( (unsigned)time( NULL ) );//s... 阅读全文

posted @ 2013-10-02 14:55 雨钝风轻 阅读(379) 评论(0) 推荐(0) 编辑

安卓开发牛人博客链接

摘要: 转载▼http://blog.csdn.net/android_tutorhttp://www.cnblogs.com/TerryBlog/blog.csdn.net/yiyaaixuexihttp://blog.csdn.net/hellogvhttp://miloisbadboy.comhttp://www.cnblogs.com/tianjianhttp://www.cnblogs.com/devxiaobai 阅读全文

posted @ 2013-10-02 14:51 雨钝风轻 阅读(157) 评论(0) 推荐(0) 编辑

hdu 3032 Nim or not Nim?(搜索打SG表)

摘要: 题意: 有n堆石子,alice先取,每次可以选择拿走一堆石子中的1~x(该堆石子总数) ,也可以选择将这堆石子分成任意的两堆。alice与bob轮流取,取走最后一个石子的人胜利。思路: 因为数的范围比较大,所以最好通过SG打表的结果找出规律在解。打表代码#include#includeint sg[10000];int find(int x){ if(sg[x]>=0) return sg[x]; bool mex[10000]= {0}; for(int i=0; i0&&i>0) mex[find(i)^find(x-i)]=1; } int i=0; ... 阅读全文

posted @ 2013-10-02 13:37 雨钝风轻 阅读(250) 评论(0) 推荐(0) 编辑

2013年10月1日 #

hdu 1536 S-Nim

摘要: 题意:首先输入K 表示一个集合的大小 之后输入集合 表示对于这对石子只能去除这个集合中的元素的 个数 之后输入一个m表示接下来对于这个集合要进行m次询问之后m行 每行输入一个n 表示有 n个堆 每堆有n1个石子 问这一行所表示的状态是赢还是输 如果赢输入W否则L思路:对于n堆石子 可以分成n个游戏 之后把n个游戏合起来就好了#include#include#includeusing namespace std;//注意 S数组要按从小到大排序 SG函数要初始化为-1 对于每个集合只需初始化1遍//n是集合s的大小 S[i]是定义的特殊取法规则的数组int s[110],sg[10010... 阅读全文

posted @ 2013-10-01 21:56 雨钝风轻 阅读(216) 评论(0) 推荐(0) 编辑

hdu 1848 Fibonacci again and again (初写SG函数,详解)

摘要: 思路: SG函数的应用,可取的值为不连续的固定值,可用GetSG求出SG,然后三堆数异或。SG函数相关注释见代码:相关详细说明请结合前一篇博客:#include#include#define N 1001//f[]:可以取走的石子个数//sg[]:0~n的SG函数值//hash[]:mex{}int f[N],sg[N],hash[N];void getSG(int n){ int i,j; memset(sg,0,sizeof(sg)); for(i=1;i<=n;i++) { memset(hash,0,sizeof(hash)); f... 阅读全文

posted @ 2013-10-01 21:20 雨钝风轻 阅读(295) 评论(0) 推荐(0) 编辑

博弈的SG函数理解及模板

摘要: 首先定义mex(minimal excludant)运算,这是施加于一个集合的运算,表示最小的不属于这个集合的非负整数。例如mex{0,1,2,4}=3、mex{2,3,5}=0、mex{}=0。对于一个给定的有向无环图,定义关于图的每个顶点的Sprague-Grundy函数g如下:g(x)=mex{ g(y) | y是x的后继 },这里的g(x)即sg[x]例如:取石子问题,有1堆n个的石子,每次只能取{1,3,4}个石子,先取完石子者胜利,那么各个数的SG值为多少?sg[0]=0,f[]={1,3,4},x=1时,可以取走1-f{1}个石子,剩余{0}个,mex{sg[0]}=mex{0} 阅读全文

posted @ 2013-10-01 20:49 雨钝风轻 阅读(444) 评论(0) 推荐(0) 编辑

上一页 1 ··· 32 33 34 35 36 37 38 39 40 ··· 59 下一页