题目链接 \(Description\) 一个\(N*M\)的有障碍的棋盘,先手放置棋子后,从后手开始轮流移动棋子,不能走重复的位置,不能移动的输.求在哪些位置放棋子是先手必胜的. \(Solution\) 依旧先黑白染色,移动棋子对应一个匹配. 那么原图有两种情况: 一是存在完美匹配:那么无论先手选哪个点开始,假设是S集合某点,那么后手沿匹配边走,先手要么沿匹配边再走到S集合某点,要么没法走.即先手必败: 二是不存在完美匹配: 1.先手从最大匹配点开始,好像胜负情况都有,先不考虑: 2.先手从…
[BZOJ1443]游戏(二分图匹配,博弈论) 题面 BZOJ 题解 很明显的二分图博弈问题. 发现每次移动一定是从一个黑点到达一个白点,或者反过来. 所以可以对于棋盘进行染色然后连边. 考虑一下必胜策略. 如果选择从一个匹配点开始走, 另外一个人沿着匹配点走,那么就输了,因为匹配点不一定有出边了. 如果选择从一个非匹配点开始走, 另外一个人无论怎么走都只能走到一个匹配点(或者无路可走) 如果另外一个人可以走到一个非匹配点,意味着这两个点可以匹配,所以不存在这种情况. 那么,先手只需要沿着匹配边…
如果没有不能走的格子的话,和BZOJ2463一样,直接判断是否能二分图匹配 现在有了一些不能走的格子 黑白染色后求出最大匹配 如果是完备匹配,则无论如何后手都能转移到1*2的另一端,故先手必输 否则的话,将棋子放在不是必须点的点上则先手必赢 证明是这样的: 先手先选一个不在最大匹配里面的点,然后对手有两种情况: 一.走一个在最大匹配里的点,然后有了上面考虑错的那种情况,但是不同的是,如果出现了后手最后走某边达到一个非最大匹配中点,就代表出现了一条增广路,显然因为是最大匹配,所以这种情况是不会出现…
题目链接 BZOJ1443 题解 既然是网格图,便可以二分染色 二分染色后发现,游戏路径是黑白交错的 让人想到匹配时的增广路 后手要赢[指移动的后手],必须在一个与起点同色的地方终止 容易想到完全匹配的图先手是必胜的,因为完全匹配的图要么走到对面终止,要么从对面找一条非匹配边走回来,而由于是完全匹配,总能继续走下去,所以先手总能走到一个不同色点 于是乎对于一个匹配完的二分图,我们从一个未匹配的点出发,此时先手只能走未匹配边,而由于已经是匹配完毕,所以走到的点一定是已匹配的点,此时我们可以继续走到…
题面 题面 题解 二分图博弈的模板题,只要会二分图博弈就可以做了,可以当做板子打. 根据二分图博弈,如果一个点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…
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…
二分图博弈 from BZOJ 1443 游戏(二分图博弈) - free-loop - 博客园 定义 1.博弈者人数为两人,双方轮流进行决策. 2.博弈状态(对应点)可分为两类(状态空间可分为两个集合),对应二分图两边(X集和Y集).任意合法的决策(对应边)使状态从一类跳转到另一类.(正是由于这个性质使得问题可以用二分图描述) 3.不可以转移至已访问的状态.(不可重复访问点) 4.无法转移者判负. 判定 不妨设起点在二分图的X集中,那么先手只能从X集移动到Y集,后手只能从Y集移动到X集.一次游…
[BZOJ4554]游戏(二分图匹配,网络流) 题解 Description 在2016年,佳缘姐姐喜欢上了一款游戏,叫做泡泡堂.简单的说,这个游戏就是在一张地图上放上若干个炸弹,看 是否能炸到对手,或者躲开对手的炸弹.在玩游戏的过程中,小H想到了这样一个问题:当给定一张地图,在这张 地图上最多能放上多少个炸弹能使得任意两个炸弹之间不会互相炸到.炸弹能炸到的范围是该炸弹所在的一行和一 列,炸弹的威力可以穿透软石头,但是不能穿透硬石头.给定一张nm的网格地图:其中代表空地,炸弹的威力可 以穿透,可…