Nim游戏入门+SG函数

 对于经典的Nim游戏,只需要把每一堆初始状态都异或起来,最后得到的结果非0的为必胜状态,结果为0的为必败状态。

 

原理:异或的结果非0的状态总能通过一次取物品操作,将此状态转化为结果为0的状态;而异或结果为0的状态如果不是最终状态(所有堆都是0)经过一次取物品操作,总会变为异或结果非0的状态。

 例:891. Nim游戏 - AcWing题库

SG函数

 

SG函数的自变量为有向图游戏中能达到的一种状态,因变量为一个数。

定义某个状态的SG值为其不能到达的SG值的最小值,举个栗子:

 对于单个的有向图游戏,初始条件的SG值非0时为必胜状态,否则为必败状态。对于每个非0的状态一定能直接到达0状态。

对于多个同时进行的有向图游戏,就可以看成Nim游戏,把所有初始条件异或起来得到结果。

例:893. 集合-Nim游戏 - AcWing题库

 

全部评论

相关推荐

真的很糟糕:不一定是你的问题,当然你也可以做的更好一些,继续投相信自己一定会有的
点赞 评论 收藏
分享
09-05 12:26
仰恩大学 营销
秋招第二次就面到字节了52分钟,非常非常压力面,面试官不断打断我、否定我,认为我做的东西太简单,觉得我没学到东西感觉太压抑了后面都有点扛不住了
ALEX_BLX:压力面我一般直接反过来怼面试官你有本事压力你ld去,压力一个应届生算什么东西?服从性测试罢了,你敢压力我我就敢怼你,然后直接投诉hr
一起聊字节
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务