这题是基于一道经典的费用流模型。将每天拆成两个点i和j,新增源和汇并建立六种边:1.从源出发到每个i点,flow为+∞,cost为每条新餐巾的价值,表示这一天所使用的餐巾中来自购买的餐巾2.从源出发到每个j点,flow为每天所需的餐巾数,cost为0,表示这一天最多可使用的餐巾3.从每个i点出发至汇...
分类:
其他好文 时间:
2015-04-21 22:03:48
阅读次数:
140
实现功能:同Dinic网络最大流 1这个新的想法源于Dinic费用流算法。。。在费用流算法里面,每次处理一条最短路,是通过spfa的过程中就记录下来,然后顺藤摸瓜处理一路于是在这个里面我的最大流也采用这种模式,这样子有效避免的递归,防止了爆栈么么哒 1 type 2 point=^node;...
分类:
编程语言 时间:
2015-04-19 22:43:19
阅读次数:
306
keyword:怎样建图?怎样转换网络流;如果想到网络流的话 ,就知道是费用流。然后怎么建图;我们有以下几个说明:1.加入源点,汇点2.加入每个源点和顾客连线的话,add(0,x,1,0)3:问题在于怎么在顾客和技术工人上连线: 首先 我们知道 每个顾客可以和每个工人练一天cost(i,j)的线,但...
分类:
其他好文 时间:
2015-04-17 01:11:06
阅读次数:
109
04/16 一共做了8道题 首先网络流目前自己掌握的只有最大流Dinic算法和普通的费用流算法 有空还要去学习一下SAP和ZKW费用流(flag早早立在前面以后看到都有动力... 但网络流的算法个人认为并不重要,解题的关键和思维的难点都在建图上 所以这一类的题目往往将模板一打,剩下的代码就...
分类:
其他好文 时间:
2015-04-16 23:09:21
阅读次数:
273
二分最大的边的cap,记作Lim。把所有的边的cap设为min(Lim,cap[i])。Bob一定会把单位费用加到最大边上。#include#include#include#include#includeusing namespace std;#define EPS 0.000001#define ...
分类:
其他好文 时间:
2015-04-16 13:53:02
阅读次数:
133
题目链接:BZOJ - 1221题目分析算法一:最小费用最大流首先这是一道经典的网络流问题。每天建立两个节点,一个 i 表示使用毛巾,一个 i' 表示这天用过的毛巾。然后 i 向 T 连 Ai (第 i 天需要的毛巾数)。从 S 向 i' 连 Ai ,这样这天新增的用过的毛巾就是 Ai 了。然后 i...
分类:
其他好文 时间:
2015-04-14 12:38:50
阅读次数:
172
1070: [SCOI2007]修车Time Limit: 1 SecMemory Limit: 162 MBSubmit: 2785Solved: 1110[Submit][Status][Discuss]Description同一时刻有N位车主带着他们的爱车来到了汽车维修中心。维修中心共有M位技...
分类:
其他好文 时间:
2015-04-11 10:17:52
阅读次数:
183
题意:
给一个n*n的矩阵,每次从左上角走到右下角并取走其中的数,求走k次能取到的最大和。
分析:
费用流边的容量有限制的作用,费用有求和的作用,对于每个点只能取一次,容易想到把这个点拆成两个点并连上容量为1,费用为该点数的边。但明显有的流要“跳过”这个点,如何处理呢?可以加一条容量为无穷,费用为0的边,这样不参加这点费用计算的流就可以"跳过"这个点了。
代码:
//poj 3422
/...
分类:
其他好文 时间:
2015-04-08 18:16:42
阅读次数:
127
建图很神奇..建完图其实就是裸的费用流了..--------------------------------------------------------------#include#include#include#include#include#include#define rep(i,n) f...
分类:
其他好文 时间:
2015-04-04 23:43:19
阅读次数:
165