
二分图
jzq233jzq
这个作者很懒,什么都没留下…
展开
-
二分图匹配——BZOJ1433/Luogu2055 [ZJOI2009]假期的宿舍
BZOJ传送门 洛谷传送门 这个题预处理好麻烦啊。。。题面也很绕 先说预处理吧,我们首先转成图,也就是把人和床分开变成二分图 具体怎么处理输入呢? 首先在校不回家的学生向自己的床连一条边, 然后所有人向认识的人里面有床的人的床连边 注意回家的学生要忽略。。。 最后每张床连向超级汇点,超级原点向每个在学校的人(包括学生和朋友)连边 然后就跑二分图匹配啦~原创 2017-04-25 10:14:36 · 443 阅读 · 0 评论 -
二分图匹配——BZOJ4554/Luogu2825 [Tjoi2016&Heoi2016]游戏
题面:BZOJ4554 Luogu2825 首先把图转成二分图 我们把行看作二分图的左边,列看成二分图的右边 然后每一行由“#”进行分段,也就是说,在两个“#”中间的是一段(包括最左边和最右边) 然后把“*”点看成连接行和列的边,这样就构图完成了 要想放最多,跑一遍二分图最大匹配就可以了 匈牙利算法:#include<cstdio>#include<cstring>#include<原创 2017-05-23 14:14:46 · 298 阅读 · 0 评论 -
二分图染色——Codeforces741C Arpa's overnight party and Mehrdad's silent entering
题面:cf741c 这题目名称真长。。。 简要题意:给出N(N≤10^5)对位置,要求构造一个长度为2N的01串,保证每个位置在N个限制中出现恰好一次。要求满足两个条件: ①不能出现连续的三个数位上数字相同; ②每对位置的数字两两不同。 (转自zzh的PPT) 因为有spj,所以我们只要随便构造一组就好了 具体怎么构造呢? 首先对于②其实很简单直接染不同颜色就好了 那关于①怎么搞?原创 2017-05-22 16:19:12 · 359 阅读 · 0 评论 -
二分图匹配——Luogu3033 [USACO11NOV]牛的障碍Cow Steeplechase
题面:Luogu3033 我们把横着的线段分一组,竖着的线段分一组 然后把相交的线段连边即可 这样就形成了一个二分图 然后要说一下两个东西:二分图最小点覆盖:定义一个点能够覆盖以之为端点的所有边,定义点覆盖为覆盖图所有边的点集,最小点覆盖即为包含点数尽量少的点集。二分图最大独立集:独立集是两两没有公共边的点集,最大独立集即为点数尽量多的独立集。很明显这题要求的是二分图的最大独立集原创 2017-05-22 16:11:03 · 283 阅读 · 0 评论 -
二分图匹配——BZOJ1191/Luogu2319 [HNOI2006]超级英雄
题面:BZOJ1191 Luogu2319 Hungary匹配算法 思路同“[SCOI2010]连续攻击游戏”详见传送门 然后呢就是建边不一样一点,其他都差不多是一样的 注意到Luogu因为有SPJ,所以要求输出方案 其实很简单啊,就是在DFS时候记录的匹配对象就是啦~ 把这个输出就好了#include<cstring>#include<cstdio>#include<algori原创 2017-05-15 19:23:02 · 398 阅读 · 0 评论 -
二分图匹配——BZOJ1854/Luogu1640 [SCOI2010]连续攻击游戏
题面:BZOJ1854 Luogu1640 这个题其实可以很显然地看成一个匹配问题 然后这个权值必须以1……n递增完美匹配 所以说这题不能用原来的网络流做了QAQ 现学Hungary感觉挺简单的 也是找增广路径,但是更简单 一个一个匹配过去的时候如果这个点已经被匹配那么dfs递归到原来匹配的点去修改原来的匹配,直到匹配完成 不过真的挺暴力的,听说时间比dinic慢好几倍呢~ 然后这种原创 2017-05-15 15:53:02 · 364 阅读 · 0 评论 -
二分图匹配——BZOJ1059/Luogu1129 [ZJOI2007]矩阵游戏
http://www.lydsy.com/JudgeOnline/problem.php?id=1059 https://www.luogu.org/problem/show?pid=1129 我们可以很快的把这题转化成二分图匹配 具体我不多说了。。。 然后直接上模板(我发现我以前写的是假的dinic) 具体见前一篇飞行员匹配:http://blog.youkuaiyun.com/jzq233jzq/原创 2017-04-03 21:48:08 · 328 阅读 · 0 评论 -
二分图匹配——Luogu2756 [网络流24题]飞行员配对方案问题
https://www.luogu.org/problem/show?pid=2756 二分图匹配的裸题 不过我不会匈牙利算法。。。。 于是我打了个dinic最大流过掉了 具体做法就是设一个超原点和一个超汇点, 然后超原点与每一位外籍飞行员连一条流量为1的边 超汇点与每一位英国飞行员连一条流量为1的边 然后跑一遍最大流就好了。。。记录方案我卡了很久 在此感谢lzq大佬指教(woc把我原创 2017-03-20 10:49:07 · 425 阅读 · 0 评论