博弈
博弈
七九河开
这个作者很懒,什么都没留下…
展开
-
Nim博弈
Nim博弈 int N,a[MAX];int main(){ int x=0; for(int i=0;i<N;i++)x^=A[i];//^是亦或的符号if(x!=0)printf("A\n");else printf("B\n"); return 0; }反Nim博弈int main(){ int temp,t,n,s,x,i; ...原创 2018-08-24 20:57:30 · 127 阅读 · 0 评论 -
A Simple Nim HDU - 5795 (博弈)
题目https://vjudge.net/problem/HDU-5795#author=SCU2018题意给你n堆石子,两种操作1 选择一堆 取任意个2 选择一堆 分成三堆不能操作的人为输思路如果没有第二种操作,就是NIM博弈,每堆石子的sg = 石子个数现在sg[i] = mex(1,2,,,i-1,i-2^1^1,i-3^1^2,,,,)打表发现 sg...原创 2019-09-19 10:36:11 · 153 阅读 · 0 评论 -
World of Darkraft CodeForces - 138D (博弈 棋盘翻转)
题目https://vjudge.net/problem/CodeForces-138D题意n * m 的棋盘,每个点都是L, R, X三者之一,两个人轮流选择没有被激光摧毁过的点,L:往左下,右上发射激光R:往左上,右下发射激光X:往左上,左下,右上,右下发射激光。最后不能选的人输。思路顺时针翻转棋盘45° 游戏就成了矩形分成两个或四个矩形的子游戏代码#in...原创 2019-09-19 17:00:58 · 212 阅读 · 0 评论 -
Football Game POJ - 2315 (博弈)
题目https://vjudge.net/problem/POJ-2315题意有n堆石子,两个人轮流操作,每次最多取m次,最多在m堆里取思路1 一堆石头有 n 个,每次可以取 1~m 个的 sg 函数值 = sg[n] = n%(m+1)2XOR 又称半加运算,即只执行加法而不执行进位nim博弈是只能在1堆里取,所以可以直接异或,即在二进制下异或,现在是m堆 所以要在...原创 2019-09-20 19:42:16 · 237 阅读 · 0 评论 -
Alice and Bob CodeForces - 347C (博弈)
题目https://vjudge.net/problem/CodeForces-347C题意给你一个长度为n的序列。Alice先动,选择序列中随便的两个数,求他们差的绝对值。如果和序列的数不重复就加入序列。如果找不到这样的两个数就算输思路做差的过程可以看做辗转相减就GCD,所以最后所有数为n个数的最大值除以gcd那么产生新数个数就可以知道,如果是奇数,先手赢,如果是偶数,后...原创 2019-09-21 10:20:33 · 350 阅读 · 0 评论 -
The Imp Gym - 100543K (博弈DP)
题目https://vjudge.net/problem/Gym-100543K题意n件商品,告诉你价格和价值,你可以买一次,另一个人可以使用魔法魔法的效果是把你买的商品变没,让你在买一次,之前的的花费不返还每件商品只能买一次,问能获得最大利润(利润 = 价值-花费)思路博弈DP 对于每件商品第一个人可以选择买或不买,第二个人可以选择用或不用魔法要注意一点是买的顺序...原创 2019-09-24 15:12:49 · 268 阅读 · 0 评论 -
博弈-翻硬币游戏
翻硬币游戏一般的翻硬币游戏的规则是这样的:N枚硬币排成一排,有的正面朝上,有的反面朝上。我们从左开始对硬币按1到N编号。第一,游戏者根据某些约束翻硬币,但他所翻动的硬币中,最右边那个硬币的必须是从正面翻到反面。例如,只能翻3个硬币的情况,那么第三个硬币必须是从正面翻到反面。如果局面是正正反,那就不能翻硬币了,因为第三个是反的。第二,谁不能翻谁输。...转载 2019-09-25 15:57:34 · 470 阅读 · 0 评论 -
Game HDU - 3389 (阶梯博弈)
题目https://vjudge.net/problem/HDU-3389题意1-N带编号的盒子,当编号满足A>B && A非空 && (A + B) % 3 == 0 && (A + B) % 2 == 1则可以从A中取任意卡片到B中,谁不能取了谁就输。思路阶梯博弈阶梯博弈等效为奇数号阶梯的尼姆博弈。假设我们是先手...原创 2019-09-25 16:55:22 · 185 阅读 · 0 评论