博弈论(一):Nim游戏重点结论:对于一个Nim游戏的局面(a1,a2,...,an),它是P-position当且仅当a1^a2^...^an=0,其中^表示位异或(xor)运算。Nim游戏是博弈论中最经典的模型(之一?),它又有着十分简单的规则和无比优美的结论,由这个游戏开始了解博弈论恐怕是最合...
分类:
其他好文 时间:
2015-03-10 15:15:57
阅读次数:
239
考虑树状数组区间修改(只对其子树的答案有影响)点查询,每个点记录的是它到根路径上的权值异或和。答案时query(L)^query(R)^a[lca]。这种方法在支持区间加法、减法的树上询问的时候可以避免树链剖分。可能爆栈,考虑手动开栈。(诶诶Tarjan预处理lca的时候怎么没手动开栈?不要在意^_...
分类:
编程语言 时间:
2015-03-09 22:26:08
阅读次数:
216
把每一行m个数所有的素因子看做一堆,就把问题转化为n堆的Nim游戏。然后预处理一下10000以内每个数素因数的个数,再根据书上的Bouton定理,计算一下n行素因数个数的异或和。为0是先手必败局面,输出NO,否则输出YES 1 #include 2 #include 3 4 const int...
分类:
其他好文 时间:
2015-03-09 14:23:26
阅读次数:
173
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2176题意分析:给出M堆石子,两人交替取子,给出先手能否胜利。 不能输出No, 能则输出Yes并给出第一次取子的个数。 典型的Nim博弈,先判断T态,若是非T态再求第一次取子的个数/*取(m堆)石子游戏T...
分类:
其他好文 时间:
2015-03-03 09:48:00
阅读次数:
102
Problem Description
Nim is a two-player mathematic game of strategy in which players take turns removing objects from distinct heaps. On each turn, a player must remove at least one object, and may remove any number of objects provided they all come from t...
分类:
其他好文 时间:
2015-02-28 21:42:57
阅读次数:
266
博弈论 一开始想成S-Nim了……后来发现不一样= =石子是一定得取的,但是这个铺条纹就像Crosses and Crosses一样,是可以铺到中间,左右留下空隙但是对手无处可放的…… 所以就是两道题的方法结合一下咯~ 1 /*********************************...
分类:
其他好文 时间:
2015-02-28 16:10:19
阅读次数:
219
博弈论 相当于放了x的位置,左右4格都不能再放x了,谁无处可放就输。 nx..0000 / .x..000 / ..x..00 / 0..x..0 / 00..x.. 记忆化搜索写挂了……还是顺序DP靠谱= =(跟S-Nim类似的写法,暴力求SG函数) 1 Source Code 2 Prob...
分类:
其他好文 时间:
2015-02-28 12:43:42
阅读次数:
119
博弈论 这题跟 BZOJ 1874 取石子游戏 差不多 先暴力求出10000以内的SG函数(利用定义来求即可) 然后每次询问直接将SG值异或起来即可…… 1 Source Code 2 Problem: 2960 User: sdfzyhy 3 Memory: 444K ...
分类:
其他好文 时间:
2015-02-27 22:50:40
阅读次数:
238
博弈论 我哭……思路错误WA了6次?(好像还有手抖点错……) 本题是要求Nim游戏的第一步必胜策略有几种。 一开始我想:先全部异或起来得到ans,从每个比ans大的堆里取走ans个即可,答案如此累计……WA! 第二次:ans与每个a[i]取&,如果不为0即有一种方案……WA! 第三次:an...
分类:
其他好文 时间:
2015-02-27 22:47:50
阅读次数:
164