SG函式模板

2022-09-20 00:27:12 字數 479 閱讀 4009

1、sg打表:(可能會tle 把陣列改成bool型別即可)

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

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

//hash:mex{}

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

void getsg(int n)

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

}

2、sg打表(dfs) (一般sg中等偏上的題都用dfs)

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

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

int s[110],sg[10010],n;

int sg_dfs(int x)

}int e;

for(i=0;;i++)

if(!vis[i])

return sg[x]=e;

}

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