裸的费用流。。。。建图方法:把每个月抽象成一个点S向每个点连边,费用为当月购进价,容量无限大;每个点向T连边,费用为0,容量为当月卖出量每个点向后一个月的点连边,费用为仓库储存费用m,容量为仓库的容量s 1 /*********************************************...
分类:
其他好文 时间:
2015-03-17 21:34:47
阅读次数:
141
费用流
双向边 (u,v,f,c) 拆分成4条边 (u,v,f,c) (v,u,0,-c) (v,u,f,c) (u,v,0,-c)
建立城市->汇点(u,T,inf,-price)
#include
#include
#include
#include
#include
#define V 800+10
#define E 8000+10
#define inf 9999...
分类:
其他好文 时间:
2015-03-15 09:35:50
阅读次数:
123
题目大意:给定n个点,每个点有固定的经过次数,m个人从任意节点出发任意节点结束,只能向右走,要求总边权和最小
有源汇、有上下界的费用流
其实上下界费用流有两种写法- - 一种是按照上下界网络流那么转化- - 一种是把必经边的费用减掉一个INF 跑完再加回去
我比较倾向于第一种写法- - 第二种写法在INF的取值上有点麻烦- -
#include
#include
#include
#...
分类:
其他好文 时间:
2015-03-01 08:57:18
阅读次数:
925
练习题目:点击打开链接 网络流建模:点击打开链接
之前写过 关于网络流的算法入门,其实那么多会一个就OK.首选Dinic,递归很好写25行.
邻接表时候若是无向图则是四条边
解决和值问题,都并入汇点
找多条不同的路径,最小费用流问题.
J 模板题
测试Dinic模板
K 电脑公司,
这个其实也可以不用拆点,不过拆点更容易想,这个是第一个需要构图的题目,完全不会.其实就是不同类型机...
分类:
其他好文 时间:
2015-02-27 11:57:33
阅读次数:
224
SHOI出过这么鬼的题?、、跪首先我们可以想到费用网络流,找一个流量为2的最大费用流即可,问题是怎么建图因为针对点才有收益,而且收益只有一次,所以考虑拆点,不妨设一个点p拆成入点p1和出点p2则p1 -> p2连边流量为1,费用为1;再连边流量为1,费用为0;S向p1连边流量为1,费用为0;p2向T...
分类:
其他好文 时间:
2015-02-22 23:05:38
阅读次数:
195
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define LL long long
using namespace std;
const int maxn = 10000 + 10;
const int INF = 0x...
分类:
其他好文 时间:
2015-02-12 22:57:38
阅读次数:
393
解题思路:
区间K覆盖问题:数轴上有一些带权值的区间,选出权和尽量大的一些区间,使得任意一个点最多被K个区间覆盖。
构图方法为:把每一个数作为一个节点,然后对于权值为W的区间[ u, v ]连一条边,容量为1,费用为-w,再对所有相邻
的点连边i -> i + 1,容量为K,费用为0;最后求最左端到最右端的最小费用最大流即可。如果数值范围太大,需要先进行离散化。
#include
#in...
分类:
其他好文 时间:
2015-02-12 16:21:16
阅读次数:
231
题意:给出一个有向带权图,求从起点到终点的两条不相交路径使得权值和最小。分析:第一次听到“拆点法”这个名词。把除起点和终点以外的点拆成两个点i和i',然后在这两点之间连一条容量为1,费用为0的边。这样就保证了每个点最多经过一次。其他有向边的容量也是1然后求从起点到终点的流量为2(这样就保证了是两条路...
分类:
其他好文 时间:
2015-02-10 00:25:28
阅读次数:
279