神仙建图... 最多可以放上几个,也就是全都放上去之后尽量少删掉几个。 发现马总是会由同色攻击至异色,于是将两点之间连边,最后一定是一个二分图。 最后删掉的就是二分图的最小割,也就是最大匹配。 然后随便固定一个顺序,建立源点s以及汇点t,然后就跟普通二分图匹配的做法一样了。 ...
分类:
其他好文 时间:
2018-12-15 10:27:09
阅读次数:
158
这题做的真的让我没了智力... 题目大意: 从n个点的图中选出n + 1条链问是否能够全部覆盖(可相交),如果不能,输出覆盖的最小点权最小值最大是多少? 思路: 最小值最大问题考虑二分,二分答案用二分图匹配去求链覆盖即可,记得floyd处理闭包。 吐槽: 调了半天发现是二分上界太大...wtf? C ...
分类:
其他好文 时间:
2018-12-12 00:04:41
阅读次数:
241
"原题传送门" 博客里对 "二分图匹配" 的详细介绍 这道题是带权二分图匹配 用的是KM算法 我们要知道一个定理:要使线段没有相交,要使距离总和最小 我们先把任意一对白点、黑点的距离算一下 然后运用KM算法 因为要最小权值,所以需要把权值取反来求最大。 cpp include define N 10 ...
分类:
其他好文 时间:
2018-12-08 14:04:25
阅读次数:
131
? 书中第六章部分程序,加上自己补充的代码,包括全局最小切分 Stoer-Wagner 算法,最小权值二分图匹配 ● 全局最小切分 Stoer-Wagner 算法 ● 最小权值二分图匹配 ...
分类:
编程语言 时间:
2018-12-04 20:36:40
阅读次数:
221
题解: 这题思路就是暴力。。 主要在于分析复杂度? Dinic跑二分图$msqrt(n)$ 这题好像用不到。。 首先这是个匹配问题显然需要利用网络流 考虑第一问 每一次我们就暴力按照志愿顺序加入边 直到二分图匹配数+1 这个复杂度是$(nm)*nm$的(因为一次只增广一条边所以每次是nm的,不过这个 ...
分类:
其他好文 时间:
2018-11-29 17:56:24
阅读次数:
136
题意:图没什么用 给出一个地图 地图上有 点 一次可以覆盖2个连续 的点( 左右 或者 上下表示连续)问最少几条边可以使得每个点都被覆盖 最小路径覆盖 最小路径覆盖=|G|-最大匹配数 证明:https://blog.csdn.net/qq_34564984/article/details/5277 ...
分类:
其他好文 时间:
2018-11-25 01:27:29
阅读次数:
233
这个题我们可以从终态入手, 我们发现题目要求的是能否成为使得对角线上都是黑棋。 它具有什么特征呢?那就是保证了每一行每一列存在一个黑点。 那么我们只要能够保证这张图上,至少存在n个点恰好能够覆盖n行n列,那么就一定可以转换成终态。 所以呢怎么判断给定的图是不是满足这个条件呢? 我们把行列分开看,每一 ...
分类:
其他好文 时间:
2018-11-08 18:34:18
阅读次数:
222
将未建立贸易关系看成连一条边,那么这显然是个二分图。最大城市群即最大独立集,也即n-最大匹配。现在要求的就是删哪些边会使最大匹配减少,也即求哪些边一定在最大匹配中。 首先范围有点大,当然是跑个dinic,转化成最大流。会使最大流减少的边相当于可能在最小割中的边,因为删掉它就相当于无代价的割掉了一条边 ...
分类:
其他好文 时间:
2018-11-07 00:50:32
阅读次数:
221
棋盘游戏 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 6897 Accepted Submission(s): 4005 题目链接:http: ...
分类:
其他好文 时间:
2018-11-06 19:34:01
阅读次数:
166
Cources Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 11298 Accepted Submission(s): 5299 题目链接 ...
分类:
其他好文 时间:
2018-11-06 18:14:58
阅读次数:
197