某岛

… : "…アッカリ~ン . .. . " .. .
September 9, 2012

POJ 3680. Intervals

Brief description:

给定 N 个带权开区间,(ai, bi, wi) .. .
现在要你挑选出一些区间使得总权值最大,并且满足数轴上任意一个点被覆盖的次数不超过 k。
( 1 <= k <= N <= 200, 1 <= ai < bi <= 100, 000, 1 <= wi <= 100, 000 .. .)

Analysis:

最大费用流。

构图:

1. (经典构图方案
先将区间端点离散化。之后对每个区间,加边 (li, ri, 1, wi) ..
再按顺序对每个端点加边 (i, i+1, k, 0) ..

2. (非主流神犇构图方案。。
以区间为点,直接拆成加边 (i, i’, 1, wi) .. . ( 不需要离散化。。
对于每个区间,分别加边 (s, i, 1, 0) 和 (i’, t, 1, 0) …
之后对区间排序。。对于任意两个区间 i, j,( i < j ) 如果没有交集,则加边 (i', j, 1, 0).. 然后求最大流不超过 k 的最大费用流。。。 。。神犇构图法。。(。。1000 ms+。。

External link:

http://poj.org/problem?id=3680
http://hi.baidu.com/graphis/item/b18de4a85dccd2e414329b2c
http://blog.sina.com.cn/s/blog_7c09163301011u67.html