Bash Game
只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜
n % (m + 1) != 0先手赢
在讲这个题目之前,我们先介绍一下mex和sg函数
设s是一个非负整数的集合,mex(s)为不属于集合s的最小非负整数
求1~n的sg 函数的步骤
1、使用 数组f 将 可改变当前状态 的方式记录下来。
2、然后我们使用 另一个数组 将当前状态x 的后继状态标记。
3、最后模拟mex运算,也就是我们在标记值中 搜索 未被标记值 的最小值,将其赋值给SG(x)。
4、我们不断的重复 2 - 3 的步骤,就完成了 计算1~n 的函数值。
HDU 1848 是一道模板
原文:https://www.cnblogs.com/xcfxcf/p/12572051.html