博弈
二分查找
这个作者很懒,什么都没留下…
展开
-
uvalive(NIM博弈)
题意:给出有n堆石子;然后每次选一堆,取不能超过一半;谁不能取了,谁就输了;思路:标准NIM博弈题;不过还是ai 太大,我们不能求出所有sg值;所以先求小部分sg值;然后找规律;观察得出;sg(n) = n % 2 == 0 ? n/2 : sg(n/2);#include#include#define ll long longll SG(ll x){原创 2015-07-26 11:11:27 · 384 阅读 · 0 评论 -
uva10561(博弈)
题意:给出一个串,由X和.构成;我们可以在.的地方放X,谁先放出三个连续的X获胜;思路:首先,如果存在"XX"或者"X.X"那先手必胜;所以我们肯定不能下出这种情况;所以当一个位置有X时,那么它周围4个点就都不能放,一放就会出现上面的情况;所以可以以X来把整个游戏变成几个子游戏;就是分成几块安全的区域,然后求每块的sg值;然后有几种方式,就可以枚举所有可以放的点原创 2015-07-26 15:52:43 · 956 阅读 · 0 评论 -
博弈小结
sg和威佐夫博奕博弈模板//sg函数模板void getSG(int n) { int i,j; memset(sg,0,sizeof(sg)); for(i = 1; i <= n; i++) { memset(hash,0,sizeof(hash)); for(j = 1; f[j] <= i; j++) h原创 2015-07-22 16:53:37 · 398 阅读 · 0 评论