【BZOJ1188】分裂游戏(博弈论)
生活随笔
收集整理的這篇文章主要介紹了
【BZOJ1188】分裂游戏(博弈论)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【BZOJ1188】分裂游戲(博弈論)
題面
BZOJ
洛谷
題解
這道題目比較神仙。
首先觀察結束狀態,即\(P\)狀態,此時必定是所有的豆子都在最后一個瓶子中。
發現每次的轉移一定是拿出一棵豆子,放兩顆豆子,所以一個瓶子中無論豆子數量是多少,我們都可以把所有的豆子拆開看成單個的\(Nim\)游戲(因為遲早都要全部進入到\(n\)號瓶子的)
發現如果有兩個在同位置的豆子,勝負結果是不會改變的,因為后手可以一直模仿先手的動作進行單個游戲。因此所有位置的豆子等價于這個位置的豆子總數對于\(2\)的余數。
那么,現在問題變成了,給你一棵豆子,他在\(i\)位置,回答勝負情況。
那么預處理\(SG\)函數即可。這個\(SG\)函數從后往前求。
轉載于:https://www.cnblogs.com/cjyyb/p/9490462.html
總結
以上是生活随笔為你收集整理的【BZOJ1188】分裂游戏(博弈论)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: memmove 对同一个指针不操作
- 下一篇: 方法调方法(委托方式)