参考文献
公平组合游戏
-
双玩家交替行动
-
与玩家无关只与状态有关
-
不能行动的玩家判负
注意:NIM 是公平组合游戏,但是围棋绝对不是,不满足后两个条件。
有向图博弈
定义 态为表示当前状态对于上一个玩家是必胜的,即接手到当前局面的玩家是必败的。(简单说就是必败态)
定义 态为表示当前状态对于下一个玩家(就是要执行还未执行操作的这种局面下的玩家)是必胜的,即接手到当前局面的玩家是必胜的。(简单说就是必胜态)
态在绝大博弈游戏种都是终止状态。
重要结论:
-
对于任意的 态他要么是一个终止状态,要么他的所有后继状态都是 态。
-
对于任意的 态,他至少有一个后继状态是 态。
也就是 态能反推上一个状态,而 态是不行的。
P6560 [SBCOI2020] 时光的流逝
这题我们考虑拓扑排序。
有环平局。
剩下的从终止状态建反图,求得所有已知的局面。
1 | read(st),read(ed); |
结论: 态必能推出 态,当该点的所有后继状态都无法唯一确定自己,那么此时自己绝对是必败态,即意味着后继节点都是必胜态。
经典:后继存在必败态则说明当前是必胜态,后继全部为必胜则是必败态。
性质:
一个点不可能取走比他更大或等于的点,这样会把他自己耗死,即考虑 点情况。
那么叶子叶子如果是最小则是必败态。
求一遍 出答案。
高桥君会把整个序列任意排列,然后青木君可以进行任意次操作,每次选择两个相邻的互质的数交换位置。
高桥君希望最终序列的字典序尽量小,而青木君希望字典序尽量大。求最终序列。
从一方入手,先考虑操作,操作是对二元组操作,考虑图上问题,不可以交换的连无相边,那么会形成若干个连通块。
那么答案就成了给边定向。
后手的操作肯定是选择拓扑序最大的,那么先手就应该最小化它,考虑性质,对于连边的相对位置是不变的。
那么我们就对原若干个连通块构建最小的字典序关系,每次都选最小,选一个点,则断边,分治考虑即可。
最后按后手最有求一遍答案,因为先手已经做出最佳决策。
__END__