SG函数学习笔记

最近遇到了一道SG函数的题,在Roger大佬的帮助下学习了一下SG函数。

对于一个公平组合游戏,当前状态为x,它的后继状态为y1,y2,...yn,定义SG(x)=mex{SG(y1),SG(y2),SG(y3)...}

那么如果初始状态为x1,x2,x3...,当SG(x1)^SG(x2)^SG(x3)...==0时,此时是一个先手必败状态。

至于证明,感性理解了一下,可以考虑转化成一个Nim游戏,对于一个状态x,SG(x)表示x可以取最多SG(x)个石子,不能取时就败了。

做的例题做法大致是找到一种快速求SG函数的方式,然后以此计算答案。

原文地址:https://www.cnblogs.com/Mohogany/p/13823336.html