随笔分类 - 二分图
1
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 把每个人都分为左边和右边两个人 xi,yi 如果第i个人不回家或者是外校学生 那么它可以和他认识的人连一条容量为1的边(前提是这个认识的人是本校的学生) (从左边连向右边 然后源点向每个不回家的本校人或者外校人连一条容量为1的边
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 这道题要求的是一个最长反链长度 (点集中任意两点之间都不能到达,且点的个数最多) 最长反链长度=最小链覆盖(也即最小路径覆盖) 最小路径覆盖可以用以下方法求得。 首先,把每个点都x分成两个点x1,x2 (x1放在左边,x2都放在
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 二分图的最大匹配。 因为要答下一题,这一题必须先答完。 所以如果某道题没有匹配了。 那么就直接break掉。 【代码】 cpp include define LL long long define rep1(i,a,b) for
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 最后要求对于所有的i,a[i][i]=1 那么,如果第i行的第j列为1. 就说明我们可以把这个第i行换到第j行。 因为这样的话,a[j][j]就会等于1了。 转化成二分图的模型。 相当于每一行都有若干种选择,可以换到某些行。 那
阅读全文
摘要:Time Limit: 1 second Memory Limit: 128 MB【问题描述】 曹是一只爱刷街的老曹,暑假期间,他每天都欢快地在阳光大学的校园里刷街。河蟹看到欢快的曹,感到不爽。河蟹决定封锁阳光大学,不让曹刷街。 阳光大学的校园是一张由N个点构成的无向图,N个点之间由...
阅读全文
摘要:描述 B国在耗资百亿元之后终于研究出了新式武器——连环阵(Zenith Protected Linked Hybrid Zone)。传说中,连环阵是一种永不停滞的自发性智能武器。但经过A国间谍的侦察发现,连环阵其实是由M个编号为1,2,…,M的独立武器组成的。最初,1号武器发挥着攻击...
阅读全文
摘要:【题目链接】:http://codeforces.com/contest/776/problem/D【题意】 每个门严格由两个开关控制; 按一下开关,这个开关所控制的门都会改变状态; 问你能不能使所有的门都打开(同时); 【题解】 /* 对于每个门, 有两个开关连接着它...
阅读全文
摘要:Time Limit: 1 second Memory Limit: 50 MB【问题描述】Tom最近在研究一个有趣的排序问题。如图所示,通过2个栈S1和S2,Tom希望借助以下4种操作实现将输入序列升序排序。操作a如果输入序列不为空,将第一个元素压入栈S1操作b如果栈S1不为空,将...
阅读全文
摘要:time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output After Vitaly was expelled from the un...
阅读全文
摘要:描述 S城现有两座监狱,一共关押着N名罪犯,编号分别为1~N。他们之间的关系自然也极不和谐。很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。我们用“怨气值”(一个正整数值)来表示某两名罪犯之间的仇恨程度,怨气值越大,则这两名罪犯之间的积怨越多。如果两名怨气值为c的罪犯被...
阅读全文
摘要:【Link】:http://acm.hdu.edu.cn/showproblem.php?pid=1083【Description】 有p门的课,每门课都有若干学生,现在要为每个课程分配一名课代表,每个学生只能担任一门课的课代表,如果每个课都能找到课代表,则输出”YES”,否则”N...
阅读全文
摘要:【Link】:https://hihocoder.com/problemset/problem/1122【Description】 【Solution】 二分图匹配,匈牙利算法模板题; 这里我先把染成0的放在一个vector里面,然后再进行匈牙利算法. 【NumberOf WA】...
阅读全文
摘要:【Link】:【Description】 给你n个人; 有一些人之间有认识关系 a认识b,b不一定认识a 让你把这n个人分成两组 使得这两组中的每一组: 组内的人与人之间都相互认识. 并且,使得两组的人数之差尽可能小; 输出分组的方案; 【Solution】 如果A和B不是相互认...
阅读全文
摘要:【题目链接】:http://codeforces.com/problemset/problem/553/C【题意】 给你n个点,m条边; 每种边有2两种类型; 让你补充剩下的边,构造一个完全图; 使得这个图中任意3个点的3条边中,0类型的边有2条,1类型的边有一条,或者全都是1类型...
阅读全文
摘要:【链接】h在这里写链接【题意】让你在一棵树上,加入尽可能多的边。使得这棵树依然是一张二分图。【题解】让每个节点的度数,都变成二分图的对方集合中的点的个数就好。【错的次数】0【反思】在这了写反思【代码】#include using namespace std;const int N = 1e5;vec...
阅读全文
摘要:【链接】点击打开链接【题意】有人写了一个最小点覆盖的贪心算法,然后,让你去hack它。并且,要求这个算法得到的错误答案,是正确答案的三倍。让你任意输出hack数据,点数二分图?程序中有这么一段 if (deg[i] >= mx) { mx = deg[i]; ...
阅读全文
摘要:【链接】点击打开链接【题意】给你一棵n节点的树,现在让你放k个猴子,可以删边,问最少可以剩余几条边,放k个猴子,满足任意一个猴子至少与一只猴子相连。2二分图的两个部分。会发现我们正是要找这个树的二分图最大匹配数。而二分图的最大匹配数=最小点覆盖.树的最小点覆盖是可以用O(N)的动规写出来的。然后就知...
阅读全文
摘要:【Link】:【Description】 一些城市,之间有道路相连,现在要安放警卫,警卫能看守到当前点周围的边,一条边只能有一个警卫看守,问是否有方案,如果有最少放几个警卫. 【Solution】 二分图; 如果某个连通块不能形成二分图->不行! 如果能形成二分图. 则看看是在染...
阅读全文
摘要:【Link】:http://acm.hdu.edu.cn/showproblem.php?pid=3478【Description】 一个人从起点s出发,假设他在时间t在节点x; 则在时间t+1,他能到达x-y-z这条路径的z节点上; 也即越过一个节点.到达下一个点. 且只能这样走...
阅读全文
摘要:【Link】:http://acm.hdu.edu.cn/showproblem.php?pid=1068【Description】 有n个人,一些人认识另外一些人,选取一个集合,使得集合里的每个人都互相不认识,求该集合中人的最大个数。 【Solution】 最大独立子集问题; ...
阅读全文
1