文章目录
https://www.cnblogs.com/cjyyb/p/9495131.html
重要思想
- 在大部分情况下,sg值相同的问题是可以相互转换的,通过转换就可以将问题简化。
- 往往打表找规律是很重要的策略
- 我们有时候需要先通过构造和分析找到必胜策略,然后再求解问题。
- 注意问题中的策略,可能使得某个量总存在方法让它不变,那么就可能产生必胜或必败。
anti-sg
#1022. [SHOI2008]小约翰的游戏John (Anti-nim)
思想在于列举所有可能的状态,找到状态之间的关系,从而判断。
multi-sg
关键在于每次可以将问题拆分为更小的问题
#2940. [Poi2000]条纹
这道题转化为nim模型就是有一堆p个石子,每次取走x或y或z个石子,并分成两堆,可以有一堆为空,不能取的人输。
我们可以直接暴力预处理sg值,然后每次O(1)回答。
#1188. [HNOI2007]分裂游戏
CF142D Help Shrek and Donkey 2(nimk问题)
每一行最多有两个不同阵营的士兵,每次可以移动同一个阵营中最多k个士兵,向左或向右一步,不能移动的人失败。
首先如果一行只有一个士兵,那么一定不会败,所以可以先判断。
然后,我们可以发现每一行问题独立,那么就是一个nimk问题。考虑每一行的游戏,如果向边上移动,那么对方总可以移动一段使得二者距离不变,所以只能向中间移动。那么就是一个nim游戏了。
通过构造不改变值的决策,使得问题简化。