博弈论 随记
博弈论
1. 简单博弈
正推/反推。纸上画画直观图(ven图,条形图等),找必胜区间和必败区间。一般此类问题都有同余的必胜点。
2. Nim游戏
有若干堆石子,每堆石子的数量ai都是有限的,合法的移动是“选择一堆石子并拿走若干颗(不能不拿)”,如果轮到某个人时所有的石子堆都已经被拿空了,则判负(因为他此刻没有任何合法的移动)。
※对于(a1,a2,a3,…an)局面: a1^a2^...^an==0 (^为异或) 为P-position,先手必败/**/
{/*
对N/P状态的理解:N-position (Now,当前状态)现在轮到move的人有必胜策略的局面。
P-position(Previous,上次状态) 上一次move的人有必胜策略的局面。
若A局面的子局面a[i]中存在P,则A为N。
若A局面的子局面a[i]全部为N,则A为P。
递归,子状态推出开始局面(3,3)的N/P。
用DP或者记忆化搜索降低时间复杂度。
*/}
3. SG函数
例1.n堆石子,每次可以从第1堆石子里取1颗、2颗或3颗,可以从第2堆石子里取奇数颗,可以从第3堆及以后石子里取任意颗……
先看例2.一个有向