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函数的方式,然后以此计算答案。

 

posted @ 2020-10-15 21:38  Mohogany  阅读(98)  评论(0编辑  收藏  举报