1. 程式人生 > >筆記——博弈 SG函式

筆記——博弈 SG函式

博弈問題博大精深啊 。。。

sg函式 原理證明不做贅述,直接子額怎麼用

首先你必須知道P點與N點

簡單來說

P點 ——誰從這個點走誰就輸        N點——誰從這個點走誰就贏

這兩個有大大的關係  

只要從必敗點(P點)走必然下一步就會走到必勝點 (N點)反之類比一下 只要從必勝點 (N點)走必然下一步就會走到必敗點(P點)就是肯定的相互轉化

 看看這個題 這個題 

首先,將大問題分成小問題 ,即把這三堆分成一堆一堆的小問題 然後取xor(^) 就是答案

要計算sg函式需要mex運算 我也不知道是啥 會用就行

mex 運算定義為 對於一個集合 S ,mex(S)表示最小不屬於這個集合的最小非負整數

for example :s={0,2, 3 },mex(S)=1;s={1,2,3,555},mex(s)=0;

    對於任意狀態 x , 定義 SG(x) = mex(S),其中 S 是 x 後繼狀態的SG函式值的集合 如果sg(x)的後繼 sg(a) ,sg(b),sg(c) , mex(sg)={sg(a) ,sg(b),sg(c) };即就類比於PN圖 特定的方向等價於限制取多少   

做題的時候 一定先明確 能取的範圍