题目描述 给一列数,要求支持操作: 1.修改某个数的值 2.读入l,r,k,询问在[l,r]内选不相交的不超过k个子段,最大的和是多少。 输入 The first line contains integer n (1?≤?n?≤?105), showing how many numbers the ...
分类:
其他好文 时间:
2017-09-29 09:51:51
阅读次数:
140
BZOJ1061-[Noi2008]志愿者招募 题意: 题解: 这题解法是费用流.第一眼我看到题解的时候,我想:这TM和费用流有啥关系!然后看完之后,我的内心:还有这种操作? 我们设第i个志愿者招x[i]个,则我们可以得到一组不等式: sum(x[j])](s[j]<=j<=t[j])>=a[i]; ...
分类:
其他好文 时间:
2017-09-27 20:39:07
阅读次数:
139
比较明显的缩点,变成dag上最小路径覆盖,指定了起点终点所以建模有一些变化。 跑费用流,增广的次数即为答案。 ...
分类:
其他好文 时间:
2017-09-23 15:26:11
阅读次数:
220
要求在dag里每条边上界INF下界1费用t。 裸上下界费用流,好像没有什么特定的写法。 首先每条边肯定至少走一次,不妨直接把每条边下界的费用先算上。原来的边正常连容量INF费用t,每个点向1连边表示可以随时返回。由于先计算了下界的费用而忽略下界,所以会导致流量不守恒,考虑普通上下界网络流的写法,新建 ...
分类:
其他好文 时间:
2017-09-21 13:28:07
阅读次数:
179
【BZOJ3502】PA2012 Tanie linie Description n个数字,求不相交的总和最大的最多k个连续子序列。 1<= k<= N<= 1000000。 n个数字,求不相交的总和最大的最多k个连续子序列。 1<= k<= N<= 1000000。 Sample Input 5 ...
分类:
其他好文 时间:
2017-09-20 14:59:44
阅读次数:
178
【BZOJ3638】Cf172 k-Maximum Subsequence Sum Description 给一列数,要求支持操作: 1.修改某个数的值 2.读入l,r,k,询问在[l,r]内选不相交的不超过k个子段,最大的和是多少。1?≤?n?≤?105,1?≤?m?≤?105,1?≤?l?≤?r ...
分类:
其他好文 时间:
2017-09-20 12:13:30
阅读次数:
167
费用流+线段树 看见这个题我们马上就能想到费用流,设立源汇,分别向每个点连接容量为1费用为0的边,然后相邻的点之间连边,费用为点权,跑费用流就行了,但是很明显这样会超时,那么我们要优化一下,我们观察费用流的过程,发现对于点与点之间的边,每次取一段区间相当于把正向边改为反向边,费用变负,于是我们可以用 ...
分类:
其他好文 时间:
2017-09-19 11:49:51
阅读次数:
181
线段树优化建图+费用流 朴素的做法是每个强盗直接对每个区间的每个点连边,然后跑最大权匹配,这样有5000*5000条边,肯定过不去,那么我们用线段树优化一下,因为线段树能把一个O(n)的区间划分为O(logn)段 然后就建一棵线段树,每个节点向两个儿子连(inf,0)的边,叶子结点连向sink,(1 ...
分类:
其他好文 时间:
2017-09-16 12:03:30
阅读次数:
249
n<=200个点m<=1500条无向带权边的图,每个点有人和容量,人可以移动,代价为所有人走过的边的权和,求使所有点人不超过容量的最小代价。 方法一:费用流。 错误!答案与边权不成比例。 方法二:二分一个答案,然后根据floyd求出的最短路看每个点在二分的答案下能去到哪些点,跑最大流检查是否合法。 ...
分类:
其他好文 时间:
2017-09-14 20:03:43
阅读次数:
212
题面: Description Every time it rains on Farmer John's fields, a pond forms over Bessie's favorite clover patch. This means that the clover is covered b ...
分类:
其他好文 时间:
2017-09-13 21:17:54
阅读次数:
213