关闭

[agc010f]Tree Game

前言发现树上博弈题很多。 大概思路都是你要想到一种简单不复杂的必胜必败态判断法。 再去证明两个东西就行了。 可能不是很正向思路。题目大意一颗树,每个节点上有一些石子,初始将一个小人放在某个节点上。 两人玩游戏,每次把小人所在节点上拿走一个石子(没有石子则游戏结束,当前操作者输),并把小人移动到相邻的一个节点。 问多少放小人的初始节点能使先手必胜。判断我们定义一个子树x是必胜的,当且仅当存在...
阅读(43) 评论(0)

[agc010d]Decrementing

前言博弈题,还挺有趣。题目大意一个正整数序列,gcd为1。 两人轮流操作,每次选择一个>1的数将其-1。 然后d是新序列的gcd,将所有数除以d。 不能操作者输。结论初始gcd为1,一定存在至少一个奇数。 如果有奇数个偶数,先手是一定必胜的。 先手先操作一个偶数变成奇数(此时场上就至少2个奇数了,然后此时有偶数个偶数),然后看后手表演: 后手将一个奇数变成偶数,先手就再把这个偶数变成奇数...
阅读(57) 评论(0)

[agc017d]Game on Tree

前言现在看到游戏题居然已经不会sg了。题意以1为根的树,两人轮流操作,每次切掉一个子树,不能操作者输。sg函数首先容易用归纳法证明一颗树上接一个节点的sg值相当于原来+1。 然后你注意到一颗树可以拆分成若干颗儿子上接一个节点,等价于原来的游戏。 于是就是简单的组合游戏题了。#include #include #define fo(i,a,b) for(i=a...
阅读(57) 评论(0)

[agc014d]Black and White Tree

前言看到这种题直觉是树的最大匹配,如果是比赛直接打毫无疑问。 然后证明了一下也不是很难的样子。 主要是见过类似套路吧。题意两个人轮流给树上节点染色。 先手涂白色,后手涂黑色。 如果最后树上存在一个白色点,与其相连的没有黑点,先手胜,否则后手胜。 请你判断先手必胜还是后手必胜。博弈我们先给出结论:后手要赢,这颗树要有完美匹配。 首先充分性显然,有完美匹配,先手涂什么成白色,你把匹配点涂黑,...
阅读(108) 评论(2)

[hdu6105]Gameia

题目大意有一颗n个节点的树,每个节点初始没有颜色。A和B玩游戏,A先手。B有k次小动作,可以在游戏进行的任意时刻使用(可以在A操作前后使用,一次性可以使用多次),每次小动作他会选择切掉一条树边。 两人轮流操作,A每次将一个无色点染白,B每次将一个无色点染黑并将相连点染黑(即使已经有颜色)。当不能操作后,如果存在被染白的点,A胜,否则B胜。双方绝顶聪明,问谁胜。博弈题先给出的结论: 该树如果有完美...
阅读(159) 评论(2)

游戏

题目描述YJC最近写了一篇关于游戏的论文。CJY看他那么喜欢游戏,决定出一道题考考他。 CJY给出了一种两个人玩的游戏。定义游戏规则如下:给一张n个点,m条边的有向无环图,每条边有颜色ci。在图上放了q颗石子,每颗石子在一个点上。每次操作时,选择一个有出边且点上有石子的点x,从点上取走一颗石子,然后选择一个颜色集合S,如果x的某条出边i的颜色 ,则在边i的终点上放上一颗石子。双方轮流操作,不能操作...
阅读(156) 评论(0)

[bzoj4035]数组游戏

题目描述有一个长度为N的数组,甲乙两人在上面进行这样一个游戏:首先,数组上有一些格子是白的,有一些是黑的。然 后两人轮流进行操作。每次操作选择一个白色的格子,假设它的下标为x。接着,选择一个大小在1~n/x之间的整数 k,然后将下标为x、2x、…、kx的格子都进行颜色翻转。不能操作的人输。现在甲(先手)有一些询问。每次他 会给你一个数组的初始状态,你要求出对于这种初始状态他是否有必胜策略。好题...
阅读(245) 评论(0)

[JZOJ5041]游戏

题目描述有一天小A和小B在一棵有N个节点的树上玩游戏,初始时1号节点上有一枚硬币。游戏以如下方式进行: ●每一轮,小A选取一个节点,并在该节点上画一个叉 ●紧接着,小B将硬币移动到一个相邻的、没有被画叉的节点 ●小B在硬币原来所在的节点上画一个叉 以上三步不停重复,直到小B无法再移动硬币。而在游戏过程中,小A全程被戴上眼罩,因此小A无法准确地知道每一个时刻硬币在哪一个节点上。他只知道树的形态...
阅读(119) 评论(0)

[bzoj3492]Binary Dodgeball

结论我把乘2^k变成除以的话和原游戏当然是等价的。 这样的话我们把每个数二进制都写出来,每次就是去掉末尾几个0。 按照除lowbit部分分组,不同组之间互相独立。 每组的游戏可以这样描述: 有一群石子堆,每次从一个石子堆拿走至少一颗石子,若存在两堆相同的石子堆,则一起移走。 没有后面那个的话很容易知道就是nim游戏。 但其实我们可以把移走的两堆绑在一起,那么一个人操作其中一堆,另一个人就...
阅读(156) 评论(0)

[hackerrank]Bob and Ben

题目大意一片森林。 每颗树有两个系数n和k,表示这颗树有n个节点,第i个节点父亲为第max(1,i/k)个节点。 两人进行游戏,每次可以删除一颗树(该数必须存在非叶子)或树中一个叶子,无法操作者输。 叶子的定义是度数为1的节点。 求先手是否必胜。结论考虑一颗大小为n的树,n=1sg值为1,n=2sg值为0,那么n>2呢? 有两种决策:减到n-1,或者直接变没(一定存在非叶子) sg(n)...
阅读(203) 评论(0)

Landlords

题目大意先手有n张牌,后手有m张牌,桌面上还有一张牌。n+m+1张牌互不相同且双方都知晓自己的牌是什么。 两人轮流操作,操作类型有二: 1、说桌面上的牌是什么,说对胜利,说错失败,执行此操作后游戏结束。 2、说一张牌,如果对方手里有则展示并弃置。 求先后手获胜概率。神奇的概率题我们来考虑一下第二个操作,我们可以选择 1、老老实实去试探对方的牌,称之为我是正昊 2、耍小聪明欺骗对方,报一张...
阅读(210) 评论(0)

AB棋

题目大意一列棋盘,共N个格子。初始有一些格子有棋子。 每次可以将一个棋子往左移动一格或者把一个棋子跳过其左边一格的棋子而到达左边两格,注意这两种操作均要求跳到的位置为空。不能操作者输。问先手是否有必胜策略。相似题游戏 这和一道叫游戏的题目很相似。 那么参考那道题的思路后,变成了阶梯游戏,但和游戏不一样的是每次最多移动两个石子。 这是经典博弈问题,只需要把每个阶梯上的石子模3即可。#inclu...
阅读(173) 评论(0)

JZOJ2984游戏

题目大意现在有一个序列a。 多组询问,每次给定m颗棋子的初始位置。 两人轮流操作,每次可以将一个位置为i的棋子移到j(满足1<=j<i1<=j<i,且[j,i]中a值两两不同)。 不能操作者输,每组询问先手是否必胜。线段树显然我们需要处理一个jump[i]表示位置i的棋子最多移到位置jump[i]。 那么一定有a[jump[i]−1]=a[i]a[jump[i]-1]=a[i] 于是可以用...
阅读(197) 评论(0)

[bzoj4134]ljw和lzr的hack比赛

题目大意每个点初始有两种颜色黑或白。 两人轮流操作,每次可以选择一个白色结点,把其到根路径上的点全部染成黑色。不能操作者输。 求先手所有可以使其必胜的第一步策略。搞一波首先把原树的所有黑点删去建一颗新树,方法为对于白色点x找到其到根路径上的最近白点然后把其当作父亲。 当然建出来的新东西其实是森林这个没有问题。 然后用sg[i]表示以i为根的子树的这个游戏的估价函数。 那么显然相当于枚举一点...
阅读(561) 评论(0)

[bzoj3567]江南乐

题目描述小A是一个名副其实的狂热的回合制游戏玩家。在获得了许多回合制游戏的世界级奖项之后,小A有一天突然想起了他小时候在江南玩过的一个回合制游戏。 游戏的规则是这样的,首先给定一个数F,然后游戏系统会产生T组游戏。每一组游戏包含N堆石子,小A和他的对手轮流操作。每次操作时,操作者先选定一个不小于2的正整数M (M是操作者自行选定的,而且每次操作时可不一样),然后将任意一堆数量不小于F的石子分成...
阅读(435) 评论(0)
20条 共2页1 2 下一页 尾页
    个人资料
    • 访问:251938次
    • 积分:10104
    • 等级:
    • 排名:第1813名
    • 原创:743篇
    • 转载:4篇
    • 译文:0篇
    • 评论:189条
    最新评论
    文章分类