题意 题目链接 $n$个人,每个人可以在第$a_i$天或第$b_i$,一天最多考一场试,问在最优的情况下,最晚什么时候结束 Sol 自己只能想到暴力匈牙利二分图匹配,然而还是被构造数据卡了.. 标算很神奇. 同样考虑把题目中给出的模型建成二分图,左侧代表每个人,右侧代表每一天的考试 然后我们把右侧每个人能选择的两个点之间连边 这样模型就由二分图转化成了一条链上的问题. 分情况讨论一下: 考虑当前的联通块: 1.边数大于点数:因为每个条边都必须与一个点匹配,因此这样肯定无解 2.边数 = 点数:很…
题目大意:你可以在第$ai$天或者第$bi$天进行第$i$场考试,每天最多进行一场考试,求把所有考试都考完的最早结束时间 由于天数可能很大,需要离散 把问题抽象成一棵树,每个点最多被"分配"一条边,现在要删点 画画图可以发现 如果一个联通块是一棵树,那么可以删去至多一个点 如果一个联通块是一个单环树(n个点n条边),那么一个点都不能删掉 如果一个联通块边数大于点数,会发现无法把每个点只分配一条边,不合法,输出-1 判树还是单环树,求一个联通块内点的度总和/2和点数比较即可 并查集维护一…
题目传送门 传送门I 传送门II 传送门III 题目大意 有$n​$门科目有考试,第$i​$门科目有两场考试,时间分别在$a_i, b_i\ \ (a_i < b_i)​$,要求每门科目至少参加一场考试,不能在同一个时间参加两场考试,问最后参加的考试最早的时间是什么. 这几天,我怎么做的都是水题Emm.... 考虑先将$a_i, b_i$离散化. 对于每一门考试,在$a_i, b_i$间连一条无向边. 对于每个连通块,讨论: 如果边数大于点数,显然无解 如果边数等于点数,那么答案必须大于等于点权…
题面 传送门 思路 真是一道神奇的题目呢 题目本身可以转化为二分图匹配问题,要求右半部分选择的点的最大编号最小的一组完美匹配 注意到这里左边半部分有一个性质:每个点恰好连出两条边到右半部分 那么我们可以利用这个性质 考虑一个左边的点和它右边联通的两个点,发现这两个点只能选择一个和这个左边的点匹配 那么我们考虑把这个点点匹配的模型转化成点边匹配 我们在同一个左边点连的两个右边点之间连边,那么问题就变成了一个点和一条相邻的边匹配,求完美匹配的问题了 而这个问题,我们显然可以用并查集来很好的解决 考虑…
1191: [HNOI2006]超级英雄Hero Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1804  Solved: 850[Submit][Status] Description 现在电视台有一种节目叫做超级英雄,大概的流程就是每位选手到台上回答主持人的几个问题,然后根据回答问题的多少获得不同数目的奖品或奖金.主持人问题准备了若干道题目,只有当选手正确回答一道题后,才能进入下一题,否则就被淘汰.为了增加节目的趣味性并适当降低难度,主持人总…
link 花絮: 这场看起来打得还不错的样子……(别问我是用哪个号打的). 然后听说这题的思想被出了好多次,女生赛也出过,quailty算法,然而当时没反应过来,而且时间不多啦. 题意: 有n个人,每个人有两个时间点可以参加考试,任意两人不能在同一时间点参加考试.问最迟考试的人的考试时间最早是多少? $n\leq 10^6.$ 题解: 离散化,将每人的两个时间点连边.题意可以转化为:给每条边定向满足任意一点入度至多为1,使得每条边指向的点的编号最大值最小. 要满足任意一点入度至多为1,原图必须是…
题意 有 \(n\) 门课程,每门课程可以选择在 \(a_i\) 或者 \(b_i\) 天参加考试,每天最多考一门,问最早什么时候考完所有课程. \(n\leq 10^6\). 分析 类似 [BZOJ4883]棋盘上的守卫 一题. 将每门课程对应的两天连边,如果课程 \(i\) 要在第 \(x\) 天考,则对应边指向 \(x\) . 最后有 \(n\) 天,\(n\) 条有向边,每条边的入度为1,构成了基环树森林. 总时间复杂度为 \(O(nlogn)\) (离散化). 总结:这种 \(A\)…
题目链接 \(Description\) 有\(n\)个人都要参加考试,每个人可以在\(ai\)或\(bi\)天考试,同一天不能有两个人考试.求最晚考试的人的时间最早能是多少.无解输出-1. \(Solution\) 把每个人向\(ai,bi\)连边.对于每个连通块单独考虑. 记点数为n,边数为m.可以发现当某一连通块n>m(n=m+1)时,可以有一个点不选(最大的): 当n=m时,所有点都要选:n<m时,无解. 用并查集维护连通,顺便维护最大.次大值.当第一次出现环时,即n=m:第二次出现就…
题目链接 codeforces1027F. Session in BSU 题解 二分图匹配就fst了....显然是过去的,不过tle test87估计也pp了,好坑 那么对于上面做匹配的这个二分图分情况讨论一下 考虑当前的联通块: 边数大于点数:这样肯定是无解的 边数 = 点数:这是一棵基环树,每个日期都会被用,输出最大值 边数 < 点数:这是一棵树,输出次大值 并查集维护一下联通块 代码 #include<cstdio> #include<cstring> #include…
F. Session in BSU https://codeforces.com/contest/1027/problem/F 题意: n场考试,每场可以安排在第ai天或者第bi天,问n场考完最少需要多少天. 分析: 将所有的a与b连边,一条边相当于一场考试,一个点相当于一个考试时间,每条边需要找一个点. 那么在一个联通块中,边数>点数,无解(这些考试都只能在这个联通块内的点考). 如果边数=点数,那么相当于出现了环,每条边和一个点匹配,即n场考试,n个考试时间,所以这个联通块内的答案就是最大的…