2018 CERC 混合博弈】的更多相关文章

N堆石子 先手最多拿A个 后手最多拿B个 每次都至少要拿一个 谁先取完谁赢 如果A和B相等直接就是一个bash博弈 如果一个石堆的石子数少于min(A,B) 则是个nim游戏 我们先讨论只有N=1且A1>min(A,B)的情况 这种情况下无论谁先手 都是拿的多的人赢 因为假设X=A1%B 如果拿的多的人是先手 直接拿X个就赢 如果拿的多的人是后手 则假设先手拿的是Y个 当Y<=X时 则后手再拿X-Y个就赢了 当Y>X时 则后手拿X+B-Y就赢了 同理可证只要有两堆Ai>min(A,…
原文作者:Alex Kipman, 微软操作系统工程院技术院士 Hello 大家好! 难以置信我们已经走过了2018年的头两个月了. 每年一月份我都会去巴西省亲,和我的家人欢聚一堂,度过一个美好的假日.在我省亲的同时,我想了很多关于过去一年发生的事情和新一年即将发生的事情.对于新的一年,我总是满怀期望和激情.   总结一下:2018年我们有些令人激动的工作计划,我迫不及待地想和大家分享. 之前,我常常被客户.合作伙伴.开发者.分析人士和其他人询问- “2018年MR.AR和VR产业会怎么发展?”…
传送门 题面: In a world where ordinary people cannot reach, a boy named "Koutarou" and a girl named "Sena" are playing a video game. The game system of this video game is quite unique: in the process of playing this game, you need to consta…
链接https://nanti.jisuanke.com/t/31454 思路 开始没读懂题,也没注意看数据范围(1000*200的状态,记忆化搜索随便搞) 用记忆化搜索处理出来每个状态的胜负情况 因为每个人都会选择最优的,因此记忆化搜索的过程其实就是在模拟两个人每一步决策所带来的胜负情况, 只要返回一个必胜,就直接返回(因为会选择最优) 然后在没有返回必胜的状态下,有平局就选择平局,没有平局就只能输了 #include<bits/stdc++.h> #define st 100 #defin…
Game Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 184    Accepted Submission(s): 132 Problem Description Alice and Bob are playing a game.The game is played on a set of positive integers from…
链接:https://ac.nowcoder.com/acm/contest/204/H来源:牛客网 题目描述 给定一棵 n 个点的树,其中 1 号结点是根,每个结点要么是黑色要么是白色 现在小 Bo 和小 Biao 要进行博弈,他们两轮流操作,每次选择一个黑色的结点将它变白,之后可以选择任意多个(可以不选)该点的祖先(不包含自己),然后将这些点的颜色翻转,不能进行操作的人输 由于小 Bo 猜拳经常输给小 Biao,他想在这个游戏上扳回一城,现在他想问你给定了一个初始局面,是先手必胜还是后手必胜…
题目链接:https://nanti.jisuanke.com/t/31000 题意:有N堆石子(N为大数),每堆的个数按一定方式生成,问先手取若干堆进行尼姆博弈,必胜的方式有多少种. 题解:因为 k < 4096,所以出现的数最多只有4096个,对每个数字只考虑出现奇/偶次进行dp,答案是所有不等于0的dp值的和.然后如果一个数字出现x次,它对自己出现奇数次的方案数和偶数次的方案数贡献都是乘上2 ^ (x - 1),每个数字的贡献都是2 ^ (x - 1) 总贡献就是2 ^ (N - ∑(vi…
题目链接 题意 : 给出 N 堆石子,每次可以选择一堆石子拿走任意颗石子,最后没有石子拿的人为败者.现在后手 Bob 可以在游戏开始前拿掉不超过 d 堆的整堆石子,现在问你有几种取走的组合使得 Bob 能保证他在游戏开始后是必胜的. 分析 : 在没有附加规则,即 Bob 可以先取走某些堆的情况下 就是个简单的 Nim 博弈模型,后手必胜当且仅当各个堆的石子的数目的异或和为 0 那么题目就变成了,问有多少种取走组合使得剩下的石子的异或和为 0 可以发现,可取走的石子的堆数 d 的上限不大,所以这个…
题目:戳这里 题意:A和B博弈,三种操作分别是x:加a,y:减b,z:取相反数.当x或y或z为0,说明该操作不可取,数据保证至少有一个操作可取,给定一个区间(l,k)和原始数字m,如果A和B在n次操作以后使m小于等于l,则B赢,大于等于k则A赢.如果A或B实在赢不了,就会尽量让对方也没法赢. 解题思路:因为数据范围始终在[-100,100],我们就有了逆推的想法.思路是假如n=3且A必赢.因为我们假设的是A必赢,那么第三步之后的m一定在nu3:[k,100]之间,又因为第三步是A的操作,A肯定是…
原文链接https://www.cnblogs.com/zhouzhendong/p/NowCoder-2018-Summer-Round8-H.html 题目传送门 - https://www.nowcoder.com/acm/contest/146/H 题意 有 $n$ 堆石子,第 $i$ 堆有 $a_i$ 个.请你取出尽量多堆石子,使得取石子nim游戏后手必胜.输出你选择的石子堆数. $n,a_i\leq 5\times 10^5$ 题解 首先我们把题转化成:在 $n$ 个数中选择尽量多的…