sg函式模板

2021-07-05 22:22:20 字數 508 閱讀 2666

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

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

///hash:mex{}

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

void getsg(int n) 中未出現的最小的非負整數

if(hash[j]==0) }}

}

幾乎可以用於求任何博弈問題 sg函式

比如5堆石子,每次可以取1,2,4個這種問題

以hdu1848為例

#include #include #include #include using namespace std;

const int maxn = 2000 + 7;

int n, m, p;

int sg[maxn], ha[maxn], fib[maxn];

void getsg()}}

return ;

}int main()

}

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 例如 ...

sg函式模板

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