二分图
zwbnnhz
这个作者很懒,什么都没留下…
展开
-
洛谷P1330封锁阳光大学
一道非常好的二分图染色模板题#include#include#include#include#define For(i,j,k) for(int i=j;i<=k;i++)using namespace std;const int N=200000+5;struct node{ int next; int to; }a[N];int cnt,h[N];void addv原创 2017-08-18 23:55:42 · 213 阅读 · 0 评论 -
codevs1222 信与信封的问题
一道二分图的变式肯定啦先建反图接着要想清楚,如果第i封信和第j个信封是唯一确定的,那么i到j这条边一定在这个二分图的最大匹配里枚举删边,如果匹配情况有改变,则ans++#include#include#include#include#define For(i,j,k) for(int i=j;i<=k;i++)using namespace std;const int原创 2017-08-18 23:58:57 · 228 阅读 · 0 评论 -
codevs3052&1022
将原图进行黑白染色将一种颜色的点与上下左右另一种颜色的点连边 做最大匹配#include#include#include#include#define For(i,j,k) for(int i=j;i<=k;i++)using namespace std;const int N=100;const int M=N*N;struct node{ int next; int t原创 2017-08-19 00:03:08 · 182 阅读 · 0 评论 -
洛谷P1129 ZJOI2007矩阵游戏
碰到这种题嘛,肯定是要先去观察,看怎样的矩阵是不符合条件的有一个性质,无论行,列如何变化 某一行,某一列的相对位置永远不会发生改变所以存在该矩阵的充分条件为:存在n个点,其行列都不相等#include#include#include#include#define For(i,j,k) for(int i=j;i<=k;i++)using namespace std;con原创 2017-08-19 00:06:37 · 259 阅读 · 0 评论 -
洛谷P1640 [SCOI2010]连续攻击游戏
每件物品只能选一次,每个属性只能选一次这不是明显附合二分图匹配中两边的点的性质嘛将装备和属性连边,从属性为1的点开始匹配,不能匹配就输出答案PS.这题可以用并查集实现#include#include#include#include#define For(i,j,k) for(int i=j;i<=k;++i)using namespace std;const int N原创 2017-08-19 00:11:33 · 288 阅读 · 0 评论 -
洛谷P2825 [HEOI2016]游戏
和一般的题不太一样的地方在于:有了硬石头那就分别计算行和列中连通块(以两块硬石头为分界)的个数,并连边,最大匹配#include#include#include#define For(i,j,k) for(int i=j;i<=k;i++)using namespace std;const int N=100+5;int q[N][N];int b[N][N];char s原创 2017-08-19 00:15:46 · 190 阅读 · 0 评论