杂题01
前言:
周六刚从学校逃出来,在初中班群看到有人发了道博弈题。颅内狂想无果,回家打了份代码找到结论,后面又花了整整一小时证明,宋完了。
题目描述:
有
正解:
令
必胜策略存在性证明:
有如下两条结论:
1.若
n 为某斐波那契数f_i ,则先手必败。
2.设l_i 表示有f_i 个石子时,后手在最优策略下最后一次取走的石子个数,则l_i\le f_{i-1} 。考虑归纳证明。
当i\le 2 时命题显然成立;
当i>2 时,假设命题在i-1,i-2 时成立。
假设先手第一步取走石子个数为x ,剩余石子数为y=f_i-x 。
若x\ge f_{i-2} ,则y\le f_i-f_{i-2}=f_{i-1}\le2f_{i-2}\le2x ,那么剩余的石子可以一次取完,此时l_i=y\le f_{i-1} 。若
x<f_{i-2} ,那么后手可以套用i-2 时的策略,使得自己可以取走前f_{i-2} 个石子中的最后一个。由于2l_{i-2}\le 2f_{i-3}<f_{i-1} ,所以剩余的f_{i-1} 个石子先手不能一次取完,那么再套用i-1 时的策略即可。此时l_i=l_{i-1}\le f_{i-2}<f_{i-1} 。证毕。
由此,我们还可以得出,对于非斐波那契数的
设
证毕。
刻画必胜策略:
设当前玩家剩余
由上文的证明,我们可以设计一个函数
不难写出转移式:
进一步地,令
End
感谢观看。