
染色法、二分图匹配
文章平均质量分 62
与网络流有交叉的知识点
阐上
hh厨
展开
-
【CF1594D】D. The Number of Imposters(并查集、二分图染色)
冒牌货数量二分图好题题意:有 n 个人,每个人身份只可能是 好人 或者 坏人。好人只说真话,坏人只说假话。有 m 个言论,i、j、ci 、j、ci、j、c ,表示 i 人 说 j 人 是 好人 或者 坏人( 也就是 c )。问给定的言论是否有冲突,如果没有冲突求 好人的最大数量思路:首先观察可以发现,当言论中 c 为 好人时,两方身份肯定一样,反之当言论 c 为 坏人时,两方身份相反。一开始想用并查集处理冲突,但发现很难统计人数。 正解是神中神的 建造二分图。原创 2022-04-09 22:30:59 · 541 阅读 · 0 评论 -
洛谷:P1155 [NOIP2008 提高组] 双栈排序(二分图、模拟)
双城之栈第一步:判断能否双栈排序感性地理解,我们要让最后输出的序列是升序,显然栈里面数字都要保证是降序的;摘自 zjp_shadow的题解{1,2,3} 这组数据是可以放入同一个栈中的,无非是放入就立刻拿出如果二分图染色成功,每个数字都会得到一个颜色,同样颜色的数字必须在一个栈中第二步:输出最小字典序的排序一个较为麻烦的模拟,需要特判很多情况因为不同操作的顺序会影响字典序,我们应该优先完成第一个栈的入栈和出栈,再考虑第二个栈,即:栈2的任何操作前都考虑栈1能不能操作同时很重要的原创 2022-02-14 13:48:48 · 623 阅读 · 0 评论 -
2021 ICPC 区域赛(沈阳)B-Bitwise Exclusive-OR Sequence(异或环、二分图染色变种、贪心)
位异或序列题意:给定一个包含 n 个数的序列,再给出 m 条关系 —— 限制序列内两两数u、v 异或^ 得到的值为 w问这 m 条关系是否能同时成立且无矛盾,有矛盾输出-1,否则输出 这个序列 n 个数累加的最小值 使得关系成立无矛盾思路:根据异或的交换性我们可以得到:u ^ v == w 等价于等价于等价于 v = u ^ w分情况讨论:当异或关系不成环时,肯定不会发生冲突;否则,固定环上任意一点的值,通过交换性我们肯定能推导出它相连的另一个点的值,如此推导回初始点的位置判断下是否值原创 2022-01-29 14:50:50 · 1251 阅读 · 0 评论 -
洛谷:P1330 封锁阳光大学(二分图染色 + 最小同色点覆盖)
Sun大学第一步:判断有无解,确定任意相邻点是否都为不同色,用染色法解决即可第二步:最少同色点 覆盖图中所有的边,这里有个误区,二分图匹配概念里的 最小点覆盖 !=!=!= 最小同色点覆盖最小点覆盖 是任意选点,同色也可,最少的点覆盖图中所有的边;同色则严格要求颜色相同可以发现边肯定存在于两种颜色不同的点之间,选择任意一种颜色的点必定能覆盖所有的边,那显然 某个连通块内要选 总点数较小 的那种颜色的点CodeCodeCode:#include<bits/stdc++.h>原创 2022-01-23 13:43:11 · 432 阅读 · 0 评论 -
牛客月赛:F-全体集合(二分图染色 + 性质)
牛客月赛:F-全体集合注意点:图必定连通,每个点每一回合都必须移动一格(不能停留)如果该无向图满足 二分图 性质,显然两个相邻的点永远不可能集合(相当于所在位置的颜色不同)所以我们可以用 二分图染色法 判断给定的图是否为二分图,若是就查看这 k 个点的颜色是否相同,只有颜色都相同时才可以集合到一块——————————————————————————————————————————但这样还会有缺漏,如果给定的图不是二分图呢?我们就能说这 k 个点永远不可能集合到一块吗?显然不能,这里就要原创 2022-01-13 23:03:48 · 198 阅读 · 0 评论 -
洛谷:P1129 [ZJOI2007] 矩阵游戏(二分图最大匹配)
洛谷:矩阵游戏洛谷题解就挺好目的是使得最终(1,1)(2,2)…(n,n)都有一个点可以看作为,最终状态需要每 i 行和 i 列都存在一个匹配建图方式:对于 i 行 j 列的1点,建一条 i 连向 j 的边即可,最后跑一个二分图匹配,只有匹配数为 n 才能说明有解可以证明交换行、交换列的操作不会影响匹配数代码:#include<bits/stdc++.h>#include<unordered_set>#include<unordered_map>#d原创 2022-01-13 22:15:56 · 2218 阅读 · 0 评论 -
Acwing:泥地(二分图的匹配 —— 最小点覆盖)
二分图最小点覆盖应用:证明可得:二分图的最大匹配数 == 最小点覆盖(证明理解不能,寄了)什么是最小点覆盖?最小点覆盖并不只在二分图中才存在在任意一个图中选取 最少 多少个点,可以保证 这些点 覆盖 图中所有的边这个数量就是最小点覆盖————————————————————————————————————————————————Acwing:泥地此题为思维上更巧妙的最小点覆盖应用此题木板覆盖泥地可以重叠思路:记录每个点所在的泥地连续行、连续列(木板覆盖的是连续的区间),行对列连边原创 2022-01-13 22:13:32 · 248 阅读 · 0 评论