摘要:
先考虑两种简单的情况:如果先手能一次把硬币拿完,即 k >= n ,那么先手胜如果每次只能拿一个硬币, 即 k = 1 ,那么如果有奇数个硬币先手胜,如果有偶数个硬币后手胜。剩下的情况就是先手一次拿不完,而且每次可以拿一个或者拿两个硬币。剩下的硬币会变成一条链,如果后手能拿完最好,不能拿完的话就拿一... 阅读全文
摘要:
这是我见过的最简单的一道博弈了,其实不要被复杂的棋盘吓到了。首先肯定会有而且仅有一个人胜,而且因为棋盘是对称的,所以先手相对于后手肯定更有优势,那么肯定是先手赢。这是不是严格的推理,但是确实比较容易猜出答案。题外话:既然这游戏这么坑,为什么两个人还能玩得不亦乐乎。。1 #include 2 3 in... 阅读全文
摘要:
切巧克力的游戏,想得还是不是太明白。后者会尽量选前着切后其中小的一块来切,那么先手须尽量取中间来切。So?题解都是这么一句话,不知道是真懂了还是从别人那抄过来的。后来找到一个官方题解,分析得比较认真,但我这智商还是没懂太多,QAQ本题我抄袭自《Winning Ways for your Mathem... 阅读全文
摘要:
这道题搞了好久,其实坑点挺多。。网上找了许多题解,发现思路其实都差不多,所以就不在重复了。推荐一篇比较好的题解,请戳这。另外,如果因为可能要更新多次,但最终查询只需要一次,所以没有写pushup函数,仅有一个pushdown。 1 #include 2 3 const int maxn =... 阅读全文