博弈:sg函数
skajre
这个作者很懒,什么都没留下…
展开
-
HDU 1847 Good Luck in CET-4 Everybody!(博弈sg函数)
#include #include using namespace std; const int maxn=1000+5; int Hash[maxn]; int sg[maxn],f[maxn]; int g[15]={1,2,4,8,16,32,64,128,256,512,1024}; void cal_sg() { memset(sg,0,sizeof(sg)); for(原创 2016-12-21 15:53:30 · 253 阅读 · 0 评论 -
HDU 1848 Fibonacci again and again(博弈sg函数)
#include #include using namespace std; const int maxn=1000+5; int Hash[maxn]; int sg[maxn],f[maxn]; int g[20]; void cal_sg() { g[1]=1;g[2]=2; for(int i=3;i<=20;i++) g[i]=g[i-1]+g[i-2]; mem原创 2016-12-21 15:58:25 · 322 阅读 · 0 评论 -
sg函数模版
可以根据题目要求,设计好g,然后求sg,模版中的g是斐波那契数列。void cal_sg() { g[1]=1;g[2]=2; for(int i=3;i<=20;i++) g[i]=g[i-1]+g[i-2]; memset(sg,0,sizeof(sg)); for(int i=1;i<=1000;i++) { memset(Hash,0原创 2016-12-21 15:59:31 · 282 阅读 · 0 评论 -
HDU 1536 S-Nim(sg函数)
这题两个坑点,g要排序,这个不难想。 最坑的是Hash数组要换成bool型,int就TLE到死吧。 #include #include #include using namespace std; const int maxn=1e4+5; int sg[maxn],g[maxn]; bool Hash[maxn]; int k; void cal_sg() { memset(sg,fa原创 2016-12-21 21:42:50 · 201 阅读 · 0 评论