【ZJOI2010】网络扩容
2014-03-15 23:16
267 查看
【ZJOI2010】网络扩容
【题目描述】
给定一张有向图,每条边都有一个容量C和一个扩容费用W。这里扩容费用是指将容量扩大1所需的费用。求:
1、在不扩容的情况下,1到N的最大流;
2、将1到N的最大流增加K所需的最小扩容费用。
【输入】
第一行包含三个整数N,M,K,表示有向图的点数、边数以及所需要增加的流量。
接下来的M行每行包含四个整数u,v,C,W,表示一条从u到v,容量为C,扩容费用为W的边。
【输出】
一行包含两个整数,分别表示问题1和问题2的答案。
【输入样例】
5 8 2
1 2 5 8
2 5 9 9
5 1 6 2
5 1 1 8
1 2 8 7
2 5 4 9
1 2 1 1
1 4 2 1
【输出样例】
13 19
【数据范围】
30%的数据中,N<=100
100%的数据中,N<=1000,M<=5000,K<=10
【题解】
第一问是裸的最大流,点数也很少,随便一种算法就能过。
第二问是要扩大流量,等价于求一次最小费用最大流,图构造起来不算复杂。首先是保留上一问的残量网络,费用为0(已有的边是免费的),再将刚开始的所有边重新加入一遍,流量为INF(其实为k就够了),最后新建一个源点与原来的源点相连,流量为k,费用为0。新图的最小费用就是扩容的最小费用。
实际上,不必重新加入所有的边,在原残量网络中放大最小割上的边并修改费用也是可行的,只是这道题数据不强,不必麻烦了。
【代码】
第一问Dinic,第二问费用流,几乎0msAC~
【ZJOI2010】网络扩容相关文章推荐
- bzoj 1834 [ZJOI2010] network 网络扩容 题解
- 【bzoj1834】[ZJOI2010]network 网络扩容
- bzoj1834 [ZJOI2010]network 网络扩容
- bzoj 1834: [ZJOI2010]network 网络扩容 -- 最大流+费用流
- BZOJ 1834: [ZJOI2010]network 网络扩容(网络流+费用流)
- [BZOJ1834][ZJOI2010]网络扩容(最大流+费用流)
- [BZOJ1834][ZJOI2010][最大流][最小费用最大流]网络扩容
- 洛谷P2604 [ZJOI2010]网络扩容
- bzoj1834: [ZJOI2010]network 网络扩容(最小费用最大流)
- [bzoj1834][ZJOI2010] 网络扩容 最大流 费用流
- BZOJ 1834 [ZJOI2010]network 网络扩容(费用流)
- 【最大流】【费用流】bzoj1834 [ZJOI2010]network 网络扩容
- 834: [ZJOI2010]network 网络扩容
- [ZJOI2010]网络扩容
- [ZJOI2010] 网络扩容
- BZOJ 1834: [ZJOI2010]network 网络扩容
- 【BZOJ 1834】 [ZJOI2010]network 网络扩容
- BZOJ 1834: [ZJOI2010]network 网络扩容
- bzoj 1834 [ZJOI2010]network 网络扩容(MCMF)
- 【bzoj1834】[ZJOI2010]network 网络扩容