03 2021 档案
摘要:最大流传送门 费用流传送门 网络流 很形象的定义:城市水管。 城市之间有许多水管,每根水管有一个最大容量,有一个源点(即出水点)s,和一个汇点t(回收水点)。 而最大流就是求最多能有多少水从源点流向汇点。 用找增广路的思想,每次不断找到增广路,更新答案。 注意要加反向边(返回操作),保证正确性。 但
阅读全文
摘要:CF传送门 洛谷传送门 解题思路 很容易发现,对于每一次移动,除了最后一位,每一个数对答案的变化的贡献只有两种情况: 若a[i]>=i,对答案的贡献是+1 若a[i]<i,对答案的贡献是-1 所以我们可以预处理出每个时刻从a[i]<i到a[i]>=i的数有多少个,然后动态维护cnt1和cnt2(分别
阅读全文
摘要:CF传送门 洛谷传送门 解题思路 显然有一条性质:每次选择一定选择一整行和一整列。 考虑暴力做法: 把每个点的横坐标连向纵坐标,边权为1,跑一遍最小点覆盖,求出最少选择多少行数+列数使其覆盖所有的边。 由于点可能很多,但是矩形可能很少,所以我们考虑优化。 把所有横纵坐标分别扔到一个数组中,离散化处理
阅读全文
摘要:CF传送门 洛谷传送门 解题思路 首先容易想到的是个最小割板子,注意点要分成入点和出点。 其次就是简单的dfs,很显然,答案是0或1或2。 第一遍如果没有路,答案就是0,并且把所有经过的点都标记成障碍。 第二遍再进行一次dfs,若没路,答案就是1,否则就是2。 AC代码 1 #include<cst
阅读全文
摘要:CF传送门 洛谷传送门 解题思路 把城市拆成两个点——入点(1~n)和出点(n+1~2n),然后以下情况连边: 读入的边(入连向出),边的流量为max 超级源点向所有城市入点连边,流量为a[i] 所有城市入点向出点连边,流量为max 所有城市出点向汇点连边,流量为b[i] 跑一边最大流,若最大流结果
阅读全文