"题目链接" 题意: DAG的最小路径覆盖,一条边可以被重复覆盖多次,但是一次只能沿着DAG的方向覆盖一条链,问最少覆盖次数。 思路: 看了半天没有思路,所以去搜索了题解,然后发现是有源汇上下界的最小流,这个东西依赖于有源汇上下界的可行流,然后又依赖于无源汇上下界可行流,所以就都去学了一下,写一个简 ...
分类:
其他好文 时间:
2019-05-09 21:33:52
阅读次数:
139
P4843 清理雪道 上下界最小流 我们先搞一遍上下界可行流(转) 回忆上下界最大流的写法:在可行流的残量网络$s\ -\ t$上跑最大流,答案为可行流$+$残量网络的最大流 那么上下界最小流的写法呢? 只要在残量网络$t\ -\ s$上跑最大流,答案就是可行流$-$残量网络$t\ -\ s$的最大 ...
分类:
其他好文 时间:
2019-05-03 11:52:33
阅读次数:
170
先把三道例题扔在这里吧qvq "无源汇有上下界可行流" "有源汇有上下界最大流" "有源汇有上下界最小流" 无源汇有上下界可行流 首先默认把下界跑满 但显然这样是不满足流量平衡的 所以建立超级源S,超级汇T 把所有“入不敷出”的点向T连一条大小为 出流 入流 的边 把S向所有入流大的点连一条大小为 ...
分类:
其他好文 时间:
2019-03-23 01:02:01
阅读次数:
189
LOj 模板 思路我就不多说了吧,和有源汇带上下界最大流一样,只不过这次是初流-残流网络最大流。关键这个模板题写的过程无限T一组,让我很绝望。在网上搜罗了很多代码,发现我有些地方可以优化。 (1)跑dinic的时候可以使用当前弧优化 (2)在dinic过程中,如果rest已经等于0了,直接返回。不要 ...
分类:
其他好文 时间:
2019-01-14 11:03:56
阅读次数:
237
"传送门" 好题啊,由于每个点既可以进,也可以出,就可以新建一个源点和汇点,对于每个点都连边,然后就是最小流板子了。 代码: c++ include include include include using namespace std; void read(int &x) { char ch; b ...
分类:
其他好文 时间:
2019-01-06 18:14:57
阅读次数:
153
"传送门" 和上一题差不多,每行和每列分别看做一个点,障碍点坐标的行和列就不建边,再按照有源汇上下界建图就好了,唯一的区别就是这个题求的是最小流 这个题的数据好水呢,建错图也能A呢 c++ include include include include using namespace std; de ...
分类:
其他好文 时间:
2019-01-05 15:14:16
阅读次数:
196
"传送门" 有源汇的上下界网络流求最小流。 这个其实和上道题差不多……题目描述我没怎么看明白……好像就是让你按照他说的把图建出来就行了,注意这个题的字符处理,可能有长度大于1的字符串,要注意一下。求最小流的话还是先求可行流,之后因为可行流可能流多,而从汇点向原点跑相当于退流。所以我们再从原点向汇点跑 ...
分类:
其他好文 时间:
2018-12-18 11:05:36
阅读次数:
208
On a grid map there are n little men and n houses. In each unit time, every little man can move one unit step, either horizontally, or vertically, to ...
分类:
其他好文 时间:
2018-11-28 01:05:47
阅读次数:
130
题目描述 n nn 个点,m mm 条边,每条边 e ee 有一个流量下界 lower(e) \text{lower}(e)lower(e) 和流量上界 upper(e) \text{upper}(e)upper(e),给定源点 s ss 与汇点 t tt,求源点到汇点的最小流。 题目描述 n nn ...
分类:
其他好文 时间:
2018-10-14 21:54:47
阅读次数:
162
无源无汇可行流(事实上我不知道这个该叫什么) 一条边拆为三条边,流SS TT。附加边满流时有解。 可行流 一条边拆为三条边,加边T S($\inf$),流SS TT。附加边满流时有解。 最大流 先跑可行流,再流S T。答案=S T最大流。 最小流 先跑 无源无汇 可行流,再跑可行流。答案=TT SS ...
分类:
其他好文 时间:
2018-10-14 19:13:04
阅读次数:
98