n堆石子 先手最多拿a個 後手最多拿b個 每次都至少要拿乙個 誰先取完誰贏
如果a和b相等直接就是乙個bash博弈
如果乙個石堆的石子數少於min(a,b) 則是個nim遊戲
我們先討論只有n=1且a1>min(a,b)的情況 這種情況下無論誰先手 都是拿的多的人贏
因為假設x=a1%b 如果拿的多的人是先手 直接拿x個就贏 如果拿的多的人是後手 則假設先手拿的是y個
當y<=x時 則後手再拿x-y個就贏了 當y>x時 則後手拿x+b-y就贏了
同理可證只要有兩堆ai>min(a,b)則就是拿的多的贏 但是有個特殊情況 是只有一堆》min(a,b) 其他堆都<=min(a,b)
這樣先手有一種方法可以贏 就是把這個特殊的堆拿到<=min(a,b) 且和其他堆的異或起來為0 簡單的來說 就是先手如果可以把這堆拿成乙個必勝的nim遊戲的話 先手可以贏
博弈論 博弈混合
給你乙個n m的棋盤,然後給你4種棋子,分別是 1.王 能橫著走,或者豎著走,或者斜著走,每次可以走1格 2.車 可以橫著走或者豎著走,每次可以走無數格 3.馬 走日字形,例如 如果現在在 1,1 可以走到 2,3 即先走一格直線,然後斜著走一格 4.王后 可以橫著走,或者豎著走,或者斜著走,每次可...
CTSC2018 混合果汁
為何要用整體二分,整體二分應該怎樣二分,和 poi2011 met meteors十分相像,這裡就不再重複。那麼對於乙個顧客來講,如果當前的區間總份數小於他想要的份數,或者是區間最小 大於他能接受的最大 就把該顧客劃分到右區間,如若滿足則劃分到左區間。想要和 poi2011 met meteors一...
CTSC 2018 混合果汁
題目鏈結 演算法 對於每組詢問 首先二分答案 顯然 最優策略為優先選擇 低的 建立可持久化線段樹 簡單維護即可 時間複雜度 o nlogn 2 includeusing namespace std define n 100010typedef long long ll typedef long do...