首页 > 技术文章 > 博弈论

EricQian 2021-07-25 11:56 原文

\(\text{SG}\) 函数详解

阶梯博弈

只用考虑奇数阶的台阶,偶数阶的不用考虑(对手会把它再变回偶数阶)。

P3480 [POI2009]KAM-Pebbles

主要代码:

for(int i=1;i<=n;i++) a[i]=rd();
for(int i=n;i>=1;i-=2) ans^=(a[i]-a[i-1]);
if(ans) // 先手必胜

手玩博弈

P6487 [COCI2010-2011#4] HRPA

不难发现:

\[f(n)=\begin{cases}x&(x\in F)\\f(x-t_{max})&(x\notin F,t_{max}\in F,t_{max}<x)\end{cases} \]

混合战略纳什均衡

参考资料

制作博弈决策表格。

Nim 游戏

K-Nim 游戏

\(n\) 堆棋子,每次可以一方选择其中 \(k\) 堆取棋子,首先不能取的一方输。

结论:所有石子的异或和 \(\bmod{k+1}=0\)

反 Nim 游戏

\(n\) 堆棋子,每次可以一方选择其中 \(1\) 堆取棋子,取走最后一颗石子的输。

结论:(满足下面任意一个条件,先手必胜)

  • 所有棋子都为 \(1\) 且有偶数堆。

  • 至少有一堆 \(>1\) 且异或和不等于 \(0\)

推荐阅读