博弈
L_0_Forever_LF
一个热爱OI的OIer
展开
-
hdu5754 2016 Multi-University Training Contest 3 Life Winner Bo 解题报告
日常blog恩题意:Bo 和他的女朋友 G 在一起玩游戏,游戏在一个N*M棋盘上进行,一开始有一个棋子在(1,1),谁先将棋子移到(N,M),谁就胜利,如果无法移到(N,M),则打平。游戏有四种棋子,第一种:王第二种:车第三种:马第四种:后棋子的走法和国际象棋相同,每次移动只能向右或者向下移动题解:可以将除了第三种游戏之外的游戏转化成在行原创 2016-08-30 14:35:54 · 474 阅读 · 0 评论 -
BZOJ3729: Gty的游戏
树上的阶梯博弈,需要维护每个点子树内奇数层石子的异或和,因为兹瓷插入,所以用splay维护dfs序,每个节点开2个节点,子树内的点插入到这两点之间替罪羊树跑的飞快code:#include<set>#include<map>#include<deque>#include<queue>#include<stack>#include<cmath>#include<ctime>#includ原创 2017-04-26 19:48:01 · 603 阅读 · 0 评论 -
BZOJ2437: [Noi2011]兔兔与蛋蛋
1443的强化版,黑白染色后,节点颜色若和染色不同,因为永远不会到达,可以视为障碍,每次移动空格到一个位置,那个位置的颜色交换到空格处,也变成障碍,所以可视为不能重复经过一点,判断每次操作前是不是必胜态只需判所处的点是否是必经点#include<set>#include<map>#include<deque>#include<queue>#include<stack>#include<cm原创 2017-09-12 22:18:31 · 362 阅读 · 0 评论 -
BZOJ4347: [POI2016]Nim z utrudnieniem
mod下答案为负数时没加上mod…去完石子就是个nim游戏,所有石子异或和为0则先手必败 设所有石子异或和为s 就是问取kd堆石子,有多少种情况使得取了的石子异或和为s 令f[i][j][k]表示处理完前i堆石子,取了的堆数在mod d下为j,取了的石子异或和为k的方案数 直接转移O(ndmaxa) 但可以发现a[i]和小于a[i]的数异或和不会超过2*a[i] 所以我们将石子排序后,复原创 2017-09-29 07:58:37 · 432 阅读 · 0 评论 -
BZOJ1443: [JSOI2009]游戏Game
不妨先黑白染色,然后做二分图匹配,考虑出发点如果是非最大匹配必经点,那么无论第一个人怎么走都只能走非匹配边走到一个匹配点上(或不能走),另一个人走匹配边,那么先手必败,反之必胜 于是问题变成了哪些点是最大匹配的必经点 先做一次最大匹配,那些没有被匹配到的点,一定是非必经点,然后从这些点开始增广,按照非匹配边,匹配边走交错路,和出发点在同一个点集里的,就是要找的非必经点,时间复杂度O(n2)O(n原创 2017-08-27 22:34:32 · 829 阅读 · 2 评论 -
BZOJ3722: PA2014 Final Budowa
资瓷先手为-2,后手为-1,犹豫为0 从叶子开始往上考虑 如果一个人有偶数个0孩子,相当于没有0孩子,可以把他变成-2/-1 如果一个人有奇数个0孩子,且剩余孩子中-2=-1,那么这个人相当于0,否则也可以决定他的决策 一直缩上根,如果根是-2或0则先手必胜否则必败然后是输出方案 根是-2时显然先手可以任选一个0开始 根是0时,从根往下走,当一个孩子y的状态是0或者y是-1但是y中-2+原创 2017-12-17 21:09:45 · 568 阅读 · 0 评论 -
BZOJ5012[ioi2017]Train
下面定义的能走到/不能走到都是在A,B采取最优决策下的因为充一次电能跑n个点,所以A胜利的条件就是能走到一个有充电站的环,B反之如果一个充电车站不能走到任何一个充电车站(包括自己),那么我们可以把它视为不能充电的 我们不断bfs求出哪些充电车站不能被其他充电走到,然后去掉他们,重复这个过程直到图中剩余所有充电车站都可以到达一个充电车站 然后看起点是否能走到某个充电车站就知道是否A赢了...原创 2018-06-20 16:02:06 · 531 阅读 · 0 评论