随笔分类 -  博弈论

摘要:4801: 打牌 分类讨论就行了 比赛时一开始写挂了... cpp include include include include include using namespace std; typedef long long ll; const int N = (1'9'){if(c==' ')f= 阅读全文
posted @ 2017-04-23 22:17 Candy? 阅读(319) 评论(0) 推荐(0) 编辑
摘要:题意: 给定一棵有根树,每个节点有一些石子,每次可以将不多于k的石子移动到父节点 修改一个点的石子数,插入一个点,询问某棵子树是否先手必胜 显然是一个阶梯Nim 每次最多取k个,找规律或者观察式子易发现就是$mod (k+1)$后的Nim 问题变为: 修改点权,插入点,询问某棵子树内某一深度的点权异 阅读全文
posted @ 2017-03-20 16:08 Candy? 阅读(1107) 评论(3) 推荐(0) 编辑
摘要:传送门 我也不知道为什么枚举vis必须加上一个边界才能A 以后还是都加上吧 阅读全文
posted @ 2017-03-16 23:35 Candy? 阅读(191) 评论(0) 推荐(0) 编辑
摘要:传送门 题意:n*m的纸片,一次切成两份,谁先切出1*1谁胜 Multi-SG? 不太一样啊 本题的要求是后继游戏中任意游戏获胜就可以了.... 这时候,如果游戏者发现某一单一游戏他必败他就不会再玩了 $2*2,2*3,3*3$都不会再玩了(除非只剩下这样的纸片了),所以都可以认为是终止状态,必败 阅读全文
posted @ 2017-03-16 22:50 Candy? 阅读(266) 评论(0) 推荐(0) 编辑
摘要:dingyeye喜欢和你玩石子游戏。 dingyeye有一棵nn个节点的有根树,节点编号为00到n−1n−1,根为00号节点。游戏开始时,第ii个节点上有a[i]a[i]个石子。两位玩家轮流操作,每次操作玩家可以选择一个节点,并将该节点上的一些石子(个数不能为00)移动到它的父亲节点上去。如果轮到某位玩家时,该玩家没有任何合法的操作可以执行,则判负。 你在游戏中执先手,你想知道当前局面你能否必... 阅读全文
posted @ 2017-03-14 23:38 Candy? 阅读(223) 评论(0) 推荐(0) 编辑
摘要:传送门 题意: 和上题基本一样;山顶可以有多人,谁先把king放到山顶谁就胜 并不太明白 阅读全文
posted @ 2017-03-14 23:13 Candy? 阅读(191) 评论(0) 推荐(0) 编辑
摘要:题意: 每次可以向左移动一个棋子任意步,不能跨过棋子 很巧妙的转化,把棋子间的空隙看成石子堆 然后裸阶梯Nim 阅读全文
posted @ 2017-03-14 23:06 Candy? 阅读(221) 评论(0) 推荐(0) 编辑
摘要:小H和小Z正在玩一个取石子游戏。 取石子游戏的规则是这样的,每个人每次可以从一堆石子中取出若干个石子,每次取石子的个数有限制,谁不能取石子时就会输掉游戏。 小H先进行操作,他想问你他是否有必胜策略,如果有,第一步如何取石子。 N≤10 Ai≤1000 裸SG函数啊 然而我连SG函数都不会求了,WA了 阅读全文
posted @ 2017-03-14 23:03 Candy? 阅读(203) 评论(0) 推荐(0) 编辑
摘要:每次一人可以从盒子里取出若干条巧克力棒,或是将一根取出的巧克力棒吃掉正整数长度。 Nim游戏多了一个决策:拿出一些石堆 显然只要给对方构造异或和为0的子集就行了 暴枚子集... 阅读全文
posted @ 2017-03-14 23:01 Candy? 阅读(310) 评论(0) 推荐(0) 编辑
摘要:给你N堆Stone,两个人玩游戏. 每次任选一堆,首先拿掉至少一个石头,然后移动任意个石子到任意堆中. 谁不能移动了,谁就输了... 以前在poj做过已经忘记了... 构造对称,选最多的一堆往其他堆分构造对称局面,先手必胜 一开始就对称,先手必败 阅读全文
posted @ 2017-03-14 22:58 Candy? 阅读(340) 评论(0) 推荐(0) 编辑
摘要:有N堆石子 ·从某堆石子中取走一个 ·合并任意两堆石子 不能操作的人输。 100%的数据满足T<=100, N<=50. ai<=1000 容易发现基础操作数$d=\sum a_i +n-1$ 没有个数为1的堆还好说,有的话@#$%^&好麻烦啊啊啊啊啊怎么可能找规律 然后看题解,woc记忆化搜索 $ 阅读全文
posted @ 2017-03-14 22:54 Candy? 阅读(391) 评论(0) 推荐(0) 编辑
摘要:明和小红经常玩一个博弈游戏。给定一个n×n的棋盘,一个石头被放在棋盘的左上角。他们轮流移动石头。每一回合,选手只能把石头向上,下,左,右四个方向移动一格,并且要求移动到的格子之前不能被访问过。谁不能移动石头了就算输。假如小明先移动石头,而且两个选手都以最优策略走步,问最后谁能赢? 法1:打表瞎猜,奇 阅读全文
posted @ 2017-03-14 22:46 Candy? 阅读(222) 评论(0) 推荐(0) 编辑
摘要:传送门 n堆,每次拿走至少一个,剩下的可以分成两堆。最后拿的人输 打表观察发现和Nim游戏一样...裸Anti-SG啊 阅读全文
posted @ 2017-03-14 22:42 Candy? 阅读(250) 评论(0) 推荐(0) 编辑
摘要:I was standing all alone against the world outside 忘记在哪里看到,很适合用这句歌词来描述John Nash 参考资料: 1.<组合游戏略述 ——浅谈SG游戏的若干拓展及变形> 贾志豪 2.上面那篇论文里的参考文献... 公平组合游戏 定义 游戏有两 阅读全文
posted @ 2017-03-14 15:44 Candy? 阅读(9906) 评论(0) 推荐(7) 编辑
摘要:传送门 题意: 有N 个局部联通的图。Harry 和Sally 轮流从图中删边,删去一条边后,不与根节点相连的部分将被移走。Sally 为先手。图是通过从基础树中加一些边得到的。所有形成的环保证不共用边,且只与基础树有一个公共点。谁无路可走谁输 卡读题啊...$WA$了一节课了才发现是多组输入 树上 阅读全文
posted @ 2017-03-14 14:39 Candy? 阅读(539) 评论(0) 推荐(0) 编辑
摘要:传送门 题意: 两个数$x,y$,一个人的决策为让大数减去小数的任意倍数(结果不能为负),出现0的人胜 一堆这样的游戏同时玩 Every-SG 游戏规定,对于还没有结束的单一游戏,游戏者必须对该游戏进行一步决策; 贪心:先手必胜的尽量长,先手必败的尽量短 对于Every-SG 游戏先手必胜当且仅当单 阅读全文
posted @ 2017-03-14 10:22 Candy? 阅读(174) 评论(0) 推荐(0) 编辑
摘要:传送门 题意: nim游戏,多了一种操作:将一堆分成两堆 Multi-SG游戏规定,在符合拓扑原则的前提下,一个单一游戏的后继可以为多个单一游戏。 仍然可以使用$SG$函数,分成多个游戏的后继$SG$值为多个游戏的异或和 然后本题规模很大,手动打一下表,发现$\mod 4=3$ 时$sg(x)=x+ 阅读全文
posted @ 2017-03-14 10:16 Candy? 阅读(142) 评论(0) 推荐(0) 编辑
摘要:传送门 题意: 背景是$knights' tournament$,好棒的样子! 这道题不一样很恶心的地方就是有平局的存在 首先判断能不能一步杀 不能的话,如果可以走$0$步或者$a,b$一负一正那么一定会平局,因为这时候两人移动范围相同肯定不会去送死啊 剩下的,可以简化成,有$d=|x_1-x_2| 阅读全文
posted @ 2017-03-13 21:52 Candy? 阅读(516) 评论(0) 推荐(0) 编辑
摘要:传送门 $anti-nim$游戏,$SJ$定理裸题 规定所有单一游戏$sg=0$结束 先手必胜: $1.\ sg \neq 0,\ 某个单一游戏sg >1$ $2.\ sg = 0,\ 没有单一游戏 sg > 1$ 话说那个$J$竟然是$JiaZhihao$ Orz 阅读全文
posted @ 2017-03-13 21:44 Candy? 阅读(175) 评论(0) 推荐(0) 编辑
摘要:传送门 有N堆石子,除了第一堆外,每堆石子个数都不少于前一堆的石子个数。两人轮流操作每次操作可以从一堆石子中移走任意多石子,但是要保证操作后仍然满足初始时的条件谁没有石子可移时输掉游戏。问先手是否必胜。 一眼差分,然后,这不是阶梯$NIM$吗? 阶梯$NIM$只考虑奇数位置进行$NIM\ \oplu 阅读全文
posted @ 2017-03-13 19:19 Candy? 阅读(199) 评论(0) 推荐(0) 编辑