摘要: 对于Wythoff博弈中的两个数列,An和Bn有这样的关系:An + n = Bn, An = floor(φ * n)所以我们可以根据a b的差值来计算一个新的a出来看看这两个值是否相等。想等的话,说明这个状态是个先手必败状态。 1 #include 2 #include 3 #include... 阅读全文
posted @ 2015-04-28 15:11 AOQNRMGYXLMV 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 切切水题,放松心情:-D 1 #include 2 3 const int maxn = 200000 + 10; 4 int a[maxn]; 5 6 int main() 7 { 8 //freopen("in.txt", "r", stdin); 9 10 int m;1... 阅读全文
posted @ 2015-04-28 14:46 AOQNRMGYXLMV 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 先考虑两种简单的情况:如果先手能一次把硬币拿完,即 k >= n ,那么先手胜如果每次只能拿一个硬币, 即 k = 1 ,那么如果有奇数个硬币先手胜,如果有偶数个硬币后手胜。剩下的情况就是先手一次拿不完,而且每次可以拿一个或者拿两个硬币。剩下的硬币会变成一条链,如果后手能拿完最好,不能拿完的话就拿一... 阅读全文
posted @ 2015-04-28 14:28 AOQNRMGYXLMV 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 这是我见过的最简单的一道博弈了,其实不要被复杂的棋盘吓到了。首先肯定会有而且仅有一个人胜,而且因为棋盘是对称的,所以先手相对于后手肯定更有优势,那么肯定是先手赢。这是不是严格的推理,但是确实比较容易猜出答案。题外话:既然这游戏这么坑,为什么两个人还能玩得不亦乐乎。。1 #include 2 3 in... 阅读全文
posted @ 2015-04-28 13:58 AOQNRMGYXLMV 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 切巧克力的游戏,想得还是不是太明白。后者会尽量选前着切后其中小的一块来切,那么先手须尽量取中间来切。So?题解都是这么一句话,不知道是真懂了还是从别人那抄过来的。后来找到一个官方题解,分析得比较认真,但我这智商还是没懂太多,QAQ本题我抄袭自《Winning Ways for your Mathem... 阅读全文
posted @ 2015-04-28 13:31 AOQNRMGYXLMV 阅读(1050) 评论(0) 推荐(0) 编辑
摘要: 这道题搞了好久,其实坑点挺多。。网上找了许多题解,发现思路其实都差不多,所以就不在重复了。推荐一篇比较好的题解,请戳这。另外,如果因为可能要更新多次,但最终查询只需要一次,所以没有写pushup函数,仅有一个pushdown。 1 #include 2 3 const int maxn =... 阅读全文
posted @ 2015-04-28 12:18 AOQNRMGYXLMV 阅读(288) 评论(0) 推荐(0) 编辑