
博弈论
Love_xyh
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[POI2009]KAM-Pebbles
转为阶梯Nim来做: 设a[i]表示第i堆石子的个数,c[i]表示a[i]-a[i-1],则我们每堆可以拿的石子数为c[i]。 由于初始的石子数是不严格升序的,且后来的每个状态都需要使得石子数保持不严格升序,那么我们现在假设在第i堆拿掉x个,a[i]变成a[i]-x,c[i]变成c[i]-x,c[i+1]变成c[i+1]+x,相当于我们把第i堆中可拿的x个石子转移到了i+1堆(a[i]-x>=a[i-1],即x<=c[i])。 也就是说,我们可以把从一堆石子中拿出x个石子,转化为在表示阶梯Nim原创 2020-08-20 21:39:56 · 183 阅读 · 0 评论 -
POJ3537 Crosses and Crosses
记忆化搜索处理Multi-SG函数。 #include <iostream> #include <cstdio> #include <algorithm> #include <cmath> #include <vector> #include <queue> #include <string> #include &...原创 2020-03-16 14:14:32 · 239 阅读 · 2 评论 -
POJ1740 A New Stone Game
首先隔空15年orz一波教主。 自认为此题的是本蒟蒻做过的博弈题中,除了定理以外,解法及证法最巧妙的一道。 题意: 对于n堆石子,每堆若干个,两人轮流操作,每次操作分两步,第一步从某堆中去掉至少一个,第二步(可省略)把该堆剩余石子的一部分分给其它的某些堆。最后谁无子可取即输。 对于所有的情况,从小到大排序后,都可以归纳为下面3类: #include <iostream> #inclu...原创 2020-03-16 13:44:17 · 184 阅读 · 0 评论 -
POJ3710 Christmas Game
树上删边游戏 (需要加上对于特殊环的处理) #include <iostream> #include <cstdio> #include <algorithm> #include <cmath> #include <vector> #include <queue> #include <string> #includ...原创 2020-03-16 13:36:22 · 196 阅读 · 0 评论 -
POJ2608 Nim && POJ2960 S-Nim
记忆化搜索处理sg函数。 #include <iostream> #include <cstdio> #include <algorithm> #include <cmath> #include <vector> #include <queue> #include <string> #include <cst...原创 2020-03-16 00:13:36 · 142 阅读 · 0 评论 -
逆Nim游戏(SJ定理)
相信大家都会Nim游戏: 给出n堆石子,两人轮流取,取光者获胜,问先手是否有必胜策略。 如果改一下,变成取光者失败,问先手是否有必胜策略。那么就是逆Nim游戏,即SJ(定理)。 给出例题:POJ3480 对于所有的情况,都可以归纳为下面3类: 1.每堆石子均为1。 (显然,若n为奇数,则先手必败,n为偶数,则先手必胜) 2.只有1堆石子大于1,n-1堆石子为1。 (那么,当n-1为偶数时,先手则可...原创 2020-03-15 23:55:13 · 351 阅读 · 0 评论 -
树上阶梯nim
题面 在某个不知名的行星上蕴含着大量冰晶矿,Jim和他的好兄弟Swan自然不能放过这个赚钱的好机会。Jim在整个星球上开掘树型矿洞,每个矿坑之间都有矿道相连。Jim和Swan在每个矿坑开采了大量的矿石,现在他们面临一个新的问题,怎么把所有的矿石运出去。 已知,矿坑与矿坑之间形成了有向的树形结构,即除0号矿坑以外每个矿坑都有与其相连的父亲矿坑。Jim总共开采了 个矿坑并将其从0到 n-1 编号 ,每...原创 2020-03-16 11:51:37 · 603 阅读 · 0 评论