SG博弈函式模板

2022-01-31 15:26:51 字數 608 閱讀 4345

下面這兩個模版應該就比較嚴密了,這個裡邊的f是從零開始的。

**出處:**:

1、sg打表

1

//f:可以取走的石子個數 2//

sg:0~n的sg函式值 3//

hash:mex{}

4int

f[k],sg[n],hash[n];

5void getsg(int

n)

6中未出現的最小的非負整數

13if(hash[j]==0

)

17}

18}

19 }

2dfs

//

注意 s陣列要按從小到大排序 sg函式要初始化為-1 對於每個集合只需初始化1遍

//n是集合s的大小 s[i]是定義的特殊取法規則的陣列

ints[n],sg[n],n;

int getsg(int

x)

for(i=0;; i++)

if(!vis[i])

return

sg[x];

}

博弈之sg函式(模板)

組合博弈的通解就是sg函式,學習了sg函式之後一直沒有咋用過。學習博弈的可以在nyoj上面做10道取石子題目,作為了對博弈也就有一定理解了。用的時候注意初始的時候只要初始sg 0 0 其他都通過函式求解。這裡貼乙個求解sg函式的模板。int sg n bool hash n void sg solv...

SG函式模板

首先定義mex minimal excludant 運算,這是施加於乙個集合的運算,表示最小的不屬於這個集合的非負整數。例如mex 3 mex 0 mex 0。對於乙個給定的有向無環圖,定義關於圖的每個頂點的sprague grundy函式g如下 g x mex,這裡的g x 即sg x 例如 取石...

SG函式模板

首先定義mex minimal excludant 運算,這是施加於乙個集合的運算,表示最小的不屬於這個集合的 非負整數 例如mex 3 mex 0 mex 0。對於乙個給定的有向無環圖,定義關於圖的每個頂點的 sprague grundy函式g如下 g x mex,這裡的g x 即sg x 例如 ...