摘要: 感觉这道题用PN大法好像不顶用了,可耻地看了题解。考虑一下简单的必胜状态,某一个数是另一个数的倍数的时候是必胜状态。从这个角度考虑一下:游戏进行了奇数步还是偶数步决定了哪一方赢。如果b > 2a,那么这一方就有权利改变游戏步数的奇偶性,从而到达对自己有利的状态,所以这是一个必胜状态。如果a 2 #... 阅读全文
posted @ 2015-04-13 20:55 AOQNRMGYXLMV 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 无奈英语不好又被坑,看到棋子能左移下移左下移,想当然地以为是Wythoff博弈了,=u=题的意思是说每次只能选一个方向移动一步,所以找找规律就是横纵坐标为奇数的时候是必败状态。从http://www.cnblogs.com/chaosheng/archive/2012/05/29/2524725.h... 阅读全文
posted @ 2015-04-13 19:50 AOQNRMGYXLMV 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 从第一个加油站开始枚举起点,如果到第i个加油站油量不够的话,那么1~i个加油站都不可能是起点。将第i+1个加油站作为起点继续枚举。比如说,第一个加油站开始最多跑到第5个加油站,那么第二个加油站不可能是起点。因为第一个作为起点的话,到达第二个加油站油箱可能还有剩余,这样都跑不完一圈,所以从第二个站开始... 阅读全文
posted @ 2015-04-13 19:18 AOQNRMGYXLMV 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 直接用一个优先队列去模拟Huffman树的建立过程。每次取优先队列前两个数,然后累加其和,把这个和在放入到优先队列中去。 1 #include 2 #include 3 using namespace std; 4 5 int main() 6 { 7 int n; 8 whi... 阅读全文
posted @ 2015-04-13 18:37 AOQNRMGYXLMV 阅读(163) 评论(0) 推荐(0) 编辑
摘要: A. Exam果然,并没有3分钟秒掉水题的能力,=_=||n = 5的时候将奇数和偶数分开输出即可保证相邻的两数不处在相邻的位置。 1 #include 2 using namespace std; 3 4 int main() 5 { 6 int n; 7 cin >> n; ... 阅读全文
posted @ 2015-04-13 15:02 AOQNRMGYXLMV 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 直接说几个比较明显的规律吧。k个小时以后,红气球的个数为3k。单独观察一行:令f(r, k)为k个小时后第r行红气球的个数。如果r为奇数,f(r, k) = f((r+1)/2, k-1) * 2如果r为偶数,f(r, k) = f(r/2, k-1)令g(r, k)为k个小时后前r行红气球的个数。... 阅读全文
posted @ 2015-04-13 13:41 AOQNRMGYXLMV 阅读(356) 评论(0) 推荐(0) 编辑
摘要: 首先通过二分来确定这种最大值最小的问题。假设每个区间的和的最大值为x,那么只要判断的时候只要贪心即可。也就是如果和不超过x就一直往区间里放数,否则就开辟一个新的区间,这样来判断是否k个区间容得下这些数。还有就是输出也挺麻烦的,借鉴了一下lrj的代码,感觉也是十分巧妙。 1 #include 2 u... 阅读全文
posted @ 2015-04-13 03:29 AOQNRMGYXLMV 阅读(269) 评论(0) 推荐(0) 编辑