随笔分类 -  图论——网络流&费用流

摘要:这是一个困扰了我很久的问题,最近在算导上看到了 H K 算法,网上提到复杂度证明的较少,故在 Wiki 上翻了一下并进行简单翻译和补充以造福社会 ~~垃圾百度百科竟然是 Wiki 的机翻~~ Dinic 和 Hopcroft Karp 算法的思路是每一次找到若干条最短的增广路同时增广。先给出结论:在 阅读全文
posted @ 2020-03-24 09:19 cjoier_Itst 阅读(4747) 评论(3) 推荐(11)
摘要:"Contest Page" 开题开错翻车场.jpg A sol $A \frac{W}{2}$或者$B \frac{H}{2}$的时候无解,否则构造方法长下面这样 c++ include using namespace std; int main(){ static int arr[200003] 阅读全文
posted @ 2019-09-22 17:27 cjoier_Itst 阅读(661) 评论(0) 推荐(0)
摘要:"期末考试" sol 因为时间范围很小,所以可以利用单调性求出对于每一个时间$t$,当最晚的成绩公布时间为$t$时学生产生的不满意度总和$f_t$和让所有课程的公布时间不大于$t$的前提下课程产生的最小不满意度$g_t$.复杂度$O(nlogn)$,瓶颈是排序. 但是上面那个做法太不优雅了.我们可以 阅读全文
posted @ 2019-09-14 11:22 cjoier_Itst 阅读(419) 评论(0) 推荐(0)
摘要:搞学科十分舒适 一双木棋 搜索,在搜索的过程中使用哈希记录重复的状态,每一次枚举合法的放置位置往下递归,取当前所有可行状态中的最优解即可。 include using namespace std; int read(){int a; cin a; return a;} namespace flow{ 阅读全文
posted @ 2019-09-07 14:44 cjoier_Itst 阅读(533) 评论(2) 推荐(0)
摘要:"传送门" 现在相当于说每一个条件都有一个染成红色的盾牌的数量限制$[l,r]$,需要满足所有限制且染成红色的盾牌数量最小/最大。 注意到一个盾牌染成红色对于一行和一列都会产生影响。如果选中一个物品对两个物品有影响,那么不妨按照二分图的方式建图,就可以描述这种限制。 将横纵坐标离散化,对每一个横坐标 阅读全文
posted @ 2019-07-09 08:14 cjoier_Itst 阅读(259) 评论(4) 推荐(1)
摘要:"程序自动分析" (并查集) NOI出这种题我还有什么好说的呢…… 拆点并查集即可。 "代码" "软件包管理器" (树链剖分、线段树) 一个支持区间赋值和区间和的线段树+树链剖分即可 "代码" "寿司晚宴" (数论、状压DP) 数论题$n \leq 500$肯定是什么暴力算法…… 注意到每一个数$ 阅读全文
posted @ 2019-05-04 15:26 cjoier_Itst 阅读(423) 评论(0) 推荐(0)
摘要:"传送门" 看到这张图,是一个网格图,而且有回路限制,不难想到黑白染色。 一般来说我们对一张图黑白染色之后都是黑色点向白色点连边,但是这道题往这边想似乎就想不出建图方法了,因为“一个格子强制流满$2$的流”和“权值和最大”无法同时在这张图上体现出来。 实际上这道题黑色和白色、白色和黑色之间都需要连边 阅读全文
posted @ 2019-03-06 19:32 cjoier_Itst 阅读(279) 评论(0) 推荐(0)
摘要:"传送门" 首先一个不知道怎么证的结论:任意点的$H$只会是$0$或$1$ 那么可以发现原题的本质就是一个最小割,左上角为$S$,右下角为$T$,被割开的两个部分就是$H=0$与$H=1$的部分 直接上Dinic似乎有90pts 然后可以发现原图是一个经典的平面图 于是将平面图最小割转化成对偶图最短 阅读全文
posted @ 2019-01-29 10:25 cjoier_Itst 阅读(272) 评论(0) 推荐(0)
摘要:传送门 题意:自己去看 考虑二分答案。$BFS$预处理出每一个人到每一扇门的最短时间,设二分的值为$mid$,那么把门拆成$mid$个点,每一个点代表第$1,2,...,mid$秒时的状态。$i-1$时刻的门向$i$时刻的门连一条流量为$INF$的边,表示有无限多的人可以在门口等待。每一个门拆出来的 阅读全文
posted @ 2018-11-01 15:23 cjoier_Itst 阅读(280) 评论(1) 推荐(0)