給定一張無向圖,上面有一些棋子,兩個頂尖聰明的人在做遊戲,每人每次必須將可以移動的棋子進行移動,不能移動的人輸題目中的要求實際是「不論前面輸與否,只要最後乙個棋子勝利,那麼就算勝利」
這樣的話,能贏得遊戲必須贏
因為兩個人都頂尖聰明,因此當乙個人知道某乙個遊戲一定會輸的話,它一定會盡力縮短遊戲的時間,當它知道某乙個遊戲一定會贏的話,一定會盡力延長遊戲的時間(畢竟都是為了追求最終的勝利嘛233)
但是!我們怎麼來處理時間的?暴力列舉博弈樹肯定是不可取的,so我們來研究一下這個問題
定義every-sg遊戲
every-sg遊戲與普通sg遊戲最大的不同就是它多了一維時間
對於\(sg\)值為\(0\)的點,我們需要知道最少需要多少步才能走到結束,
對於\(sg\)值不為\(0\)的點,我們需要知道最多需要多少步結束
這樣我們用\(step\)變數來記錄這個步數
\(step(u) = \begin 0, & \text\ max, & \text\ min, & \text \end$
對於every-sg遊戲先手必勝當且僅當單一遊戲中最大的step為奇數。
定理是顯然的:最大的單一遊戲步數如果是奇數的話那麼肯定是先手取得進行最後一步,否則一定是對手取走最後乙個棋子。
這種題目不怎麼好找,到現在也就找到一道
hdu 3595
題解
博弈論高階之SG函式
個人理解 sg函式是人們在研究博弈論的道路上邁出的重要一步,它把許多雜亂無章的博弈遊戲通過某種規則結合在了一起,使得一類普遍的博弈問題得到了解決。從sg函式開始,我們不再是單純的同過找規律等方法去解決博弈問題,而是需要學習一些博弈論中基本的定理,來找到他們的共同特點 那麼就先介紹幾個最基本的定理 也...
博弈論高階之SG函式
個人理解 sg函式是人們在研究博弈論的道路上邁出的重要一步,它把許多雜亂無章的博弈遊戲通過某種規則結合在了一起,使得一類普遍的博弈問題得到了解決。從sg函式開始,我們不再是單純的同過找規律等方法去解決博弈問題,而是需要學習一些博弈論中基本的定理,來找到他們的共同特點 那麼就先介紹幾個最基本的定理 也...
數論之博弈論
1.當 n m 1 時 第乙個取的人不可能獲勝 2.當 n k m 1 r 時 k,r,s都是未知的整數 先取者拿走 r 個,那麼後者再拿 1 m 個 此時 n k 1 m 1 s 先取者再拿走s 個 最後總能造成 剩下n k m 1 的局面 3.若n k m 1 那麼先取者必輸 bool bash...