[JSOI2009]游戏 二分图博弈】的更多相关文章

题面 题面 题解 二分图博弈的模板题,只要会二分图博弈就可以做了,可以当做板子打. 根据二分图博弈,如果一个点x在某种方案中不属于最大匹配,那么这是一个先手必败点. 因为对方先手,因此我们就是要找这样一个点. 观察点x的性质,对于这样一个点x,我们一定可以找到一个点来代替它的位置,而什么样的点可以代替它呢? 从x出发,能够到达的未匹配同侧点可以,只需要交换匹配边即可. 因此做几遍dfs就可以了 #include<bits/stdc++.h> using namespace std; #defi…
题面 题面 题解 通过观察,我们可以发现如下性质: 可以看做是2个人在不断移动空格,只是2个人能移动的边不同 一个位置不会被重复经过 : 根据题目要求,因为是按黑白轮流走,所以不可能重复经过一个点,不然就变成一个人连续走2次了 原图是一个二分图 : 也是由按黑白轮流走这个要求得到的 因此我们对原图按照与原点的距离进行黑白染色,再跑二分图博弈即可. #include<bits/stdc++.h> using namespace std; #define R register int #defin…
传送门 Solution 补一篇二分图博弈 这个博客写的很详细qwq: https://www.cnblogs.com/maijing/p/4703094.html Code //By Menteur_Hxy #include <cstdio> #include <cstring> #include <cstdlib> #include <iostream> #include <algorithm> #define F(i,a,b) for(re…
新知识get. 一类博弈问题,基于以下条件: 1.博弈者人数为两人,双方轮流进行决策.2.博弈状态(对应点)可分为两类(状态空间可分为两个集合),对应二分图两边(X集和Y集).任意合法的决策(对应边)使状态从一类跳转到另一类.(正是由于这个性质使得问题可以用二分图描述)3.不可以转移至已访问的状态.(不可重复访问点)4.无法转移者判负. 这类问题相当于从二分图指定起点开始轮流移动,不可重复访问点,无法移动判负 . 现在问题变为从二分图指定起点开始轮流移动,不可重复访问点,无法移动判负.不妨设起点…
考虑对非障碍的点黑白染色然后做二分图最大匹配,那么有结论,先手必胜当且仅当不是完美匹配,而且可以放的点是那些可以不匹配的点 从非匹配点开始走,后手只能走到匹配点,于是先手就可以走匹配边.由于不能走走过的点,所以现在又变成了一个非匹配点:这样下去直到后手无路可走,所以先手必胜 反观完美匹配的情况,先手放在任意一个匹配的位置,后手都可以走匹配边从而变成了上面的情况,就是后手必胜 这类问题大概可以总结为:(一类可以用二分图来描述的博弈问题) 1.博弈者人数为两人,双方轮流进行决策.2.博弈状态(对应点…
题目链接 首先空格的移动等价于棋子在黑白格交替移动(设起点移向白格就是黑色),且不会走到到起点距离为奇数的黑格.到起点距离为偶数的白格(删掉就行了),且不会重复走一个格子. (然后策略就同上题了,只不过第一步是走棋子) 还是考虑二分图最大匹配.如果起点不一定在最大匹配上,先手走到最大匹配点,后手沿最大匹配边走,先手要么无法走要么回到刚刚的情况,即先手必败(最大匹配是一条奇数长路径). 反之,如果起点一定在最大匹配上,先手必胜. 判断一个点是否一定在最大匹配上可以先求一遍,再对非匹配点DFS.但是…
二分图博弈 from BZOJ 1443 游戏(二分图博弈) - free-loop - 博客园 定义 1.博弈者人数为两人,双方轮流进行决策. 2.博弈状态(对应点)可分为两类(状态空间可分为两个集合),对应二分图两边(X集和Y集).任意合法的决策(对应边)使状态从一类跳转到另一类.(正是由于这个性质使得问题可以用二分图描述) 3.不可以转移至已访问的状态.(不可重复访问点) 4.无法转移者判负. 判定 不妨设起点在二分图的X集中,那么先手只能从X集移动到Y集,后手只能从Y集移动到X集.一次游…
如果没有不能走的格子的话,和BZOJ2463一样,直接判断是否能二分图匹配 现在有了一些不能走的格子 黑白染色后求出最大匹配 如果是完备匹配,则无论如何后手都能转移到1*2的另一端,故先手必输 否则的话,将棋子放在不是必须点的点上则先手必赢 证明是这样的: 先手先选一个不在最大匹配里面的点,然后对手有两种情况: 一.走一个在最大匹配里的点,然后有了上面考虑错的那种情况,但是不同的是,如果出现了后手最后走某边达到一个非最大匹配中点,就代表出现了一条增广路,显然因为是最大匹配,所以这种情况是不会出现…
1443: [JSOI2009]游戏Game Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 557  Solved: 251[Submit][Status] Description Input 输入数据首先输入两个整数N,M,表示了迷宫的边长. 接下来N行,每行M个字符,描述了迷宫. Output 若小AA能够赢得游戏,则输出一行"WIN",然后输出所有可以赢得游戏的起始位置,按行优先顺序输出 每行一个,否则输出一行"LOSE…
[算法]博弈论+二分图匹配(最大流) [题解]方格图黑白染色得到二分图, 二分图博弈:当起点不属于某个最大匹配时,后手必胜. 问题转化为那些点不属于某个最大匹配. 先找到一个最大匹配,非匹配点加入答案. 假设一个匹配点要解放成为非匹配点,则与其匹配的点必须去匹配另一个点.如果另一个点也是匹配点,则其对面又要去找另一个点. 最终得到结论,一个匹配点的解放,必须有一个非匹配点进入最大匹配. 那么从S一侧的非匹配点出发,沿着“非匹配边-匹配边”的路径走,途中经过的S一侧的匹配点都可以被解放出来. 从T…