博弈
THE END GAME
这个作者很懒,什么都没留下…
展开
-
小花梨取石子
题解:如果最左边的石子数目为1,那么只能拿1个石子,那么它的必胜必败态就和下一个位置的必胜必败态相反如果最左边的石子数目大于1,那么可以全部拿掉,可以拿得只剩下1个,这两种状态一定存在一个必败态,所以它是必胜态。题不难,就是bug写的太多了,哎…,最近状态真心不好(就是太菜了)…#include<algorithm>#include<cstdio>#inclu...原创 2019-05-20 07:47:22 · 115 阅读 · 0 评论 -
我会做——博弈
题解:可以先将偶数位置设定为自己选取,奇数位置为对方选取。然后,我们发现,第i位,可以与之后(i到n)的一个对方选取的物品进行交换,交换之后还满足之前的性质。那么这个过程可以用线段树或者multiset之类的完成。当然,也可以用优先队列什么的乱搞,倒着模拟。思考:就是事先分好,按你一次我一次的顺序取物体,然后我要取的物体和你还未取的物体互换,使自己获得的利益最大。#include<...转载 2019-04-26 14:48:56 · 110 阅读 · 0 评论 -
博弈论
(一)巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个.最后取光者得胜.若(m+1) | n,则先手必败,否则先手必胜。显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜.因此我们发现了如何取胜的法则:如果n=(m+1)r+s,(r为任意自然数,s≤m),那么先...转载 2019-04-03 16:34:16 · 320 阅读 · 0 评论 -
小A取石子
如果不操作的话,当有奇数堆时A赢否则B赢所以只要判断A的操作能否让堆数变为奇数就可以了#include<algorithm>#include<cstdio>#include<cmath>#include<iostream>#include<cstring>#include<set>#include<ve...原创 2019-05-17 14:47:38 · 216 阅读 · 0 评论 -
暑假集训日记——7.15(ST表+单调栈/单调队列+codeforce)
C. From S To T模拟题#include<algorithm>#include<cstdio>#include<cmath>#include<iostream>#include<cstring>#include<functional>#include<set>#include<ma...原创 2019-07-16 09:57:31 · 423 阅读 · 0 评论 -
暑假集训日记——8.5(博弈)
“ImpartialCombinatorialGames”(以下简称ICG)。“Impartial Combinatorial Games”(以下简称ICG)。“ImpartialCombinatorialGames”(以下简称ICG)。满足以下条件的游戏是ICGICGICG:1、有两名选手;2、两名选手交替对游戏进行移动(movemovemove),每次一步,选手可以在(一般而言)有限的合...原创 2019-08-06 15:38:39 · 92 阅读 · 0 评论 -
暑假集训日记——8.7(codeforce)
D. Tokitsukaze, CSL and Stone Game题意:有n堆石子,两个人轮流取石子,一次只能从某堆里取一颗。如果某个人取的时候已经没有石子,或者取完后又两堆石子个数相同(个数为0也算)。假如两人都足够聪明,问谁能赢。题解:博弈难点:先手第一步就输的情况比较多,不容易考虑全举例说明第一步就输:(4种)0,0,30,0,30,0,3 /// 3,3,33,3,33,3,...原创 2019-08-10 19:31:42 · 105 阅读 · 0 评论