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函数的方式,然后以此计算答案。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步