博弈
文章平均质量分 67
Tri_integral
这个作者很懒,什么都没留下…
展开
-
CodeForces 293A Weird Game
题目 题意: AB各有长度为2n的01串,每次轮流在1~2n里选一个之前双方没选过的数,那么他可以得到他的串里对应位置的数字。 最后AB各得到n个数字,他们将其任意排列后做比较。若双方都是最优策略,求谁会赢。 题解: 如果一个位置双方都是1,那么优先选这个。 由于A先手,所以A取完他能取的1后,若B刚好还有1个1,那么A可以取走对应位置的0,所以双方1的个数相等。 //Tim原创 2013-08-09 20:29:41 · 926 阅读 · 0 评论 -
CodeForces 135C C. Zero-One
题目 题意: 一个01串,AB两个人轮流删去一个字符,直到只剩两个,A先手。最后剩的两位组成一个二进制数,A要使其最小,B要使其最大。 有一些部分不知道原来是什么,用?表示,求所有的可能里,最后剩下的两个字符。 题解: 我太弱了,WA了好几次,只有110组数据,我错在了107…… 首先两人的最优策略都是从左到右删,A先删1,B先删0. 如果串长度为奇数,则A可以多删一次1.所原创 2013-08-09 20:23:39 · 1316 阅读 · 0 评论 -
hdu 4664 Triangulation
题意:给定n个平面(平面之间相互独立),每个平面上有一些点,并且构成凸集,C和D轮流选一个平面连接两个点画线段,并保证线段之间除了端点之外没有其它交点,当平面上出现一个完整的三角形之后此平面就不能继续画线。最早无法画线的人输。输出赢的人。解法:因为n个平面是独立的,所以sg函数满足异或的关系。对于每一个平面,求sg值。对于n个点,连上一条线可以分成 i 和 n-2-i 两个独立的部分。所以该点的子原创 2013-08-09 20:29:45 · 885 阅读 · 0 评论 -
CodeForces 15C. Industrial Nim
题目 题意: 有n个矿场,第i个矿场有mi辆矿车,第一辆矿车有xi颗石头,第二辆xi+1颗。。。第mi辆有mi+xi-1颗。 AB两人轮流选择任意一个矿场任意一辆矿车取走任意非0数量的石头,第一个不能再取的人输。 题解: 普通的Nim变形,相当于给你很多堆石头的计算公式,由于xi和mi都很大,所以不能一个个异或起来。 方法1: xi^xi+1^...x^mi+xi-1=(1^原创 2013-08-10 10:43:12 · 1097 阅读 · 0 评论 -
hdu 4071 Game
题意:ALICE和BOB轮流买东西,ALICE的钱总数为a,BOB的钱为b,物品必须从左到右买,一次至少买一个,最先不能买的人输ALICE为先手,问谁能赢。 解法:t=a+b。只有前缀和 1.ans[i]>=c[i]+ans[i+1],即当前选手买下第i个物品后对于第i+1个物品还处于必胜态 2.ans[i]>=t-sum[i-1]-(ans[i+1]-1),即当前选手买下第i个物品后另原创 2013-08-26 14:31:30 · 857 阅读 · 0 评论 -
HDU 4678 Mine 解题报告
题目 题意: 扫雷游戏,已知所有雷的位置。 每次可以点一个没翻开的不是雷的格子,如果当前格子是空白的,则周围的也翻开,直到周围一圈都是数字或者边界为止。不能翻的人输。 题解: 可以看作n堆石子,点击空白格子翻开的所有格子作一堆,每个数字格子是一颗石子,空白格子作一颗石子,不能通过点某个空白格子翻开的数字格子算单独的一颗一堆的石子。每堆要么每次取一颗,要么全取完(点空白的)。显然n只能转成原创 2013-08-15 21:14:15 · 884 阅读 · 0 评论