博弈论知识点总结(巴什博奕 威佐夫博弈 尼姆博弈 SG()函数介绍)

转载自:总结

真心感谢博主,终于知道为什么尼姆博弈用异或来解决。

博弈论知识点总结(巴什博奕 威佐夫博弈 尼姆博弈 SG()函数介绍)_第1张图片

SG函数模板:

void init()//根据题目要求进行修改 
{
	a[0]=1;
	for(int i=1;i<=32;i++)
	   a[i]=a[i-1]*2;
}
void SG()
{

	for(int i=1;i<=1000;i++)
	{	
	    memset(vis,0,sizeof(vis));
		for(int j=0;a[j]<=i;j++)
		{
			vis[sg[i-a[j]]]=1;
		}
		for(int j=0;j<1000;j++)//寻找不属于mex{}集合 ,且最小的 
		{
			if(vis[j]==0)
			{
				sg[i]=j;
				break;
			}
		}
	}
}

 

你可能感兴趣的:(ACM,(^-^),------博弈论,-------(^-^),SG)