
博弈
samjia2000
I swear...
We are INFINITE.
展开
-
codechef ANKGAME
题目大意有n个石子堆,A和B轮流操作,从第一堆开始操作到第n堆,每次可以拿走至少一颗石子,如果这堆拿完了,那就到下一堆,拿完最后一个石子的胜利。给出n和每堆石子的个数,问有多少种排列使得先手必胜。 n<100000,每堆石子的个数<=101010^{10}先手必胜情况我们首先要知道,先手必胜的情况有哪些: 1、如果石子堆的石子数全都是1,那么如果n是奇数,先手必胜,否则后手必胜(后面的情况都是建原创 2016-08-16 16:35:15 · 399 阅读 · 0 评论 -
关于Nim游戏的一点小想法
由于最近在做博弈的课件,做到nim游戏的时候突然就在想如果出一道交互题,用程序跟电脑玩游戏,保证开始时是必胜的,我们应该怎样操作?基本目标根据定义,设当前xor和为v,我们就是要找出一个石子堆的石子数aia_i使得ai>v xor ai(因为我们必须只能减少石子堆的石子数)然后将这堆石子的个数改为v xor ai(此时xor和就变成0了,对方就变成必败状态),直接暴力的话,我们每次就需要O(n)的时原创 2016-08-14 21:37:37 · 508 阅读 · 1 评论 -
CF 98E
题目大意A与B做游戏,初始A有n张牌,B有m张牌,桌子上还有一张背面朝上的牌,即共n+m+1张牌,保证这n+m+1张牌上的数字各不相同且都在区间[1,n+m+1]中,A与B轮流操作,每一轮先手有两种操作: 1、直接猜桌子上面那张是什么牌,猜中就赢了,猜错就输了。 2、猜对方的一张牌,猜中之后,对方将这张牌扔掉 A先手,假设AB都绝顶聪明,双方都可以知道对方所做出过的操作,问A获胜的概率 n,原创 2016-09-19 22:07:24 · 936 阅读 · 0 评论 -
poj2931 Procrastination
题目大意 不平等博弈这是经典的不平等博弈,事实上,这就是方展鹏的论文里的题,论文中用了一堆sophisticated的证明来证明了一个规律,但是其实这是可以直接用Surreal Number的公理(或者是“加减乘除”与定义?)来做,我的大概过程就是这样的:double getv(int n){ double v=0,v1=-1e+9,v2=1e+9;//v1表示当前左集中最大值,v2表示当原创 2016-10-04 19:42:27 · 895 阅读 · 0 评论