二分图
小菜鸡加油
菜鸡
什么都能折磨
展开
-
B. Domino for Young(二分图)
https://codeforces.com/contest/1268/problem/B思路:很神仙。二分图染色后取两个颜色后小的就是答案。据说是网络流建模经典...(麻了网络流又没补完)#include<iostream>#include<vector>#include<queue>#include<cstring>#include<cmath>#include<map>#include<set>原创 2021-04-27 20:22:51 · 202 阅读 · 2 评论 -
1228D - Complete Tripartite(思维+三分图染色+构造细节)
https://codeforces.com/problemset/problem/1228/D思路:将1号点定为1,然后找一个直连的作为2。此时遍历所有点,找一个和1,2有链接的,作为3.这样先分成三组。然后就继续构造,遍历所有点,如果该点只有和前面两个点相连,即ok。并且对应染色。最后答案出来的时候要检查一个和题目的边数相等,另一个再扫一遍构造好的集合,对于集合里的每个点,扫一下另外两个集合里面是不是有自己颜色的。#include<iostream>#incl原创 2021-04-05 17:51:31 · 116 阅读 · 0 评论 -
D. Beautiful Graph(思维+二分图染色)
https://codeforces.com/problemset/problem/1093/D思路:开始看错题意,以为是赋值使得整个图的边权和为奇数,然后有多少种,想跑个背包肯定是tle的。发现题目是求任意一边的两点权和为奇数。那么1和3是等价的。单纯考虑1,然后3用组合数的办法解决。间隔1和2可行,也就是二分图染色。染出来的情况为101或者010.对于101,每个1有两种可能,也就是2^(num1),对于010,其1的个数是原来图的补图,也就是sum-num1,同样这个1有两原创 2021-03-06 13:42:55 · 188 阅读 · 0 评论 -
E. Cover it!(思维+二分图染色)
https://codeforces.com/problemset/problem/1176/E给你一张n个点m条边的无向连通图(没有边权)。保证图中没有重边和自环你的任务是选择至多⌊n/2⌋个点使得对于任意一个没有被选择的点都和至少一个选中的点相邻(换言之,通过一条边连接)保证答案存在,如果有多个答案,输出任意一个你将要回答多个独立的询问思路:先取一个点A,那么和这点相邻的点(统称为B)就不需要取,然后和B相邻的点C们就要取。如此一来就转化成了二分图染色。最后看一下是哪种颜色满足&l原创 2021-02-23 14:57:08 · 133 阅读 · 0 评论 -
F 魏迟燕的自走棋(思维+贪心+并查集维护联通块/左部点配对边<=2的匈牙利)
https://ac.nowcoder.com/acm/contest/9984/F参考:F 魏迟燕的自走棋(贪心+并查集)将每个人看成一个点,武器的能力值抽象成边,这样就转化成图论的模型了。然后可以转化成联通块去看这种点之间连边的最值维护似乎跟并查集维护联通块容易联系到一起(应该是个trickC. Bertown Subway(思维+贪心+并查集维护联通块)从联通块角度去看,如果一个联通块还没有形成环,那么他们之间的武器是可以互相换的,即他们当中的任意点都可以拥有新武器,我们称这个原创 2021-02-21 13:42:27 · 205 阅读 · 1 评论 -
Knights of the Round Table (补图+点连通分量缩点板子+二分图判定奇环)
http://poj.org/problem?id=2942思路:首先考虑建边,但是会发现直接建边很难处理。那么考虑通过能相邻的图去建立边.建完边后结合题意,题目说要求一些骑士永远不可能去开会。开会的要求有一个>=3的奇环。所以题目问的是哪些骑士是不在任何一个奇环里的。所以考虑把补图上所有的缩点后的点联通分量里面判一下奇环。奇环的判定也就是染色法判定是不是二分图。这个题大概调了5小时。做了之后发现点连通分量的板子是不一样的,因为割点是属于多个连通分量里面的,不能直接按照求强原创 2020-10-04 18:30:13 · 170 阅读 · 0 评论 -
A. Graph and String(补图上染色法判二分图)
https://codeforces.com/problemset/problem/623/A题意:给你一张图,给三个字母a,b,c。图的要求是如果字母相同或者相邻则必须连边,给你一张图,问能不能满足这个条件。满足则输出一种方案。思路:比较明显的是完全图肯定是能满足的(大不了全a)考虑到题目中有一个比较核心的连接点b,能连接a和c,所以说如果图里面有度数为n-1的点,那肯定是b,那么把相关的边去掉看剩下的图的情况。这个过程就是建立了一张补图。然后补图上只有a和c两个字母,根据条件补图上两端点原创 2020-09-08 15:35:23 · 238 阅读 · 0 评论