滚动建图,最大费用流(每次仅仅有就10个点的二分图)。复杂度,m/n*(n^2)(n //78ms#include #includeusing namespace std;const double inf =0x3f3f3f3f;const int maxv=50,maxe=500;int head...
分类:
其他好文 时间:
2014-10-31 15:04:34
阅读次数:
239
题目大意:在二维平面上有若干个点,求出两条不相交的二维LIS,使得上面包含的点的数目最多。
思路1:暴力建图
注意到不相交这个条件根本没用,画图可以发现如果相交的话,我们总可以通过交换一些点使得两个序列不相交。
那么问题转化为求出两个没有公共点的上升子序列,使得长度之和最大。
对于这种情况我们利用最大费用流求解。
设(a,b)分别表示一条有向边的流量和费用。
S->S' (2,...
分类:
其他好文 时间:
2014-10-29 13:04:49
阅读次数:
265
题目大意:宇宙空间中进行了一次竞速大赛。有两种飞行方式,第一种是通过正常的道路,但是只能从标号小的飞到标号大的地方;第二种是直接过去,但是需要花费固定的时间。问正好遍历一次所有的点最少需要的多少时间。
思路:费用流。把每个点拆点,S到每个点的起点连费用0的边,向每个终点连费用为固定费用的边,图中原有的边从一个的起点连到另一个点的终点。然后每个点的终点向T连边。跑最小费用最大流就是最后的答...
分类:
其他好文 时间:
2014-10-27 12:56:03
阅读次数:
185
题意:给定m个工人,n个车,并给出现在每个工人洗每辆车的时间。。如果这n辆车同时到达,问平均最小的等待时间(到达到洗完)是多少?思路: 很妙的构图! 先拆点,把一个工人拆成n个。那么第i个工人倒数第j次时洗第k辆车贡献的总等待时间为j*t[i][k]。 那么接下来就是一个不难想的费用流了。...
分类:
其他好文 时间:
2014-10-21 23:00:05
阅读次数:
278
嗯~第一次写费用流题。。。这道就是费用流的模板题,找不到更裸的题了建图:每个m(Man)作为源点,每个H(House)作为汇点,各个源点与汇点分别连一条边,这条边的流量是1(因为每个源点只能走一条边到汇点),费用是 从源点走到汇点的步数,因为有多个源点与汇点,要建一个超级源点与超级汇点,超级源点与各...
分类:
其他好文 时间:
2014-10-18 23:41:05
阅读次数:
401
题目:hdoj 3376 Matrix Again
题意:给出一个m*n的矩阵,然后从左上角到右下角走两次,每次只能向右或者向下,出了末尾点其他只能走一次,不能交叉,每次走到一个格子拿走这个格子中的数字,求价值最大?
分析:很明显费用流,开始想的到一种建图方案,但是那样的话流量全为负值的话会成一个环,所以果断换了。
建图方案是:
首先拆点,每个点拆成两个i 和 ii ,建边...
分类:
其他好文 时间:
2014-10-15 18:56:11
阅读次数:
244
题目:Code 1035 火车停留
题目:中文题目,直接读吧
分析:读题之后发现是让费用最大,不容易考虑到费用流,其实费用最大和最小是一样的,费用最大的话可以把费用变为负值求最小的。
建图方法:
超级源点 ss 连接 s ,容量为 n ,费用为0
把每个列车拆成两个点 i 和 ii ,之间建边容量为1 ,费用为给车站交的钱的相反数
s 连接 i ,容量inf ,费用0 ...
分类:
其他好文 时间:
2014-10-14 18:09:39
阅读次数:
193
费用流第一题主要是临街表实现这个算法的问题。这里存下思路还是比较简单。源点0,汇点N+1.费用为边长。容量为1.(普通边)。添加边为2(0-1 N-N+1)代码#include #include #include #include #include #include #include #includ...
分类:
其他好文 时间:
2014-10-11 20:27:06
阅读次数:
289
Going Home
Time Limit: 1000MS
Memory Limit: 65536K
Total Submissions: 18169
Accepted: 9268
Description
On a grid map there are n little men and n houses. In each un...
分类:
其他好文 时间:
2014-10-11 17:43:45
阅读次数:
189
Going Home
题目:
给出一个N*M的图,图上的m表示人,H表示房子,每座房子只能有一个人,要求你所有人到房子中总步数最少。m个数与H个数一样多。
算法分析:
这个题目还是比较裸的。可以想到先求出每个人到每座房子的距离。然后求出最小花费,这个好像就是最小费用流吧?一开始用了KM写完后,发现。。。。哪里不对啊?后来才觉悟,原来题目是求解最小花费,KM是最大匹配...
分类:
其他好文 时间:
2014-10-10 09:46:54
阅读次数:
167