其他分享
首页 > 其他分享> > wqs二分&闵可夫斯基和学习笔记

wqs二分&闵可夫斯基和学习笔记

作者:互联网

博客仍在施工中

关于 wqs 二分部分可以参考 跳蛙的博客 或者 原论文,基础部分这里略过。

wqs 二分与费用流

事实上要严格证明一个函数是凸的需要不少时间,比如经典的 wqs 二分问题:

给定长度为 \(n\) 序列 \(a_i\),要求选择恰好 \(k\) 个不相交的非空子区间,使得选中元素的价值和最大。

其实直接证明它的凸性并不容易,或者说并没有那么显然。

但是我们知道的一点是,费用流模型的函数一定是凸的。这里费用流函数 \(F(x)\) 指的是钦定源点 \(S\) 向汇点 \(T\) 流恰好 \(x\) 的流量下的最小费用。

也就是说,如果我们能够将上述问题建出流量为 \(k\) 费用流模型,那么自然证明了答案关于 \(k\) 是凸的。

而上述问题很容易建出费用流模型:

image

自然就证明了答案是一个凸性的函数。

事实上,大部分 wqs 二分的问题都可以建出费用流模型(当然复杂度不一定正确)。

举个例子:

[八省联考2018]林克卡特树

事实上这题相当于点有限流,每次可以流任意一条简单路径。

那费用流模型也很显然,直接将每个点拆成入点和出点,一条树边对应出点向入点连边。类似于上图的形式(不过扩展到了树上而已)

然后源点向每个点,每个点向汇点分别连 \((\inf,0)\) 表示可以任选两个点作为起点终点。

然后就可以套上 wqs 二分了。之后 dp 内容不是本文重点,故不予阐述。

标签:二分,费用,函数,模型,wqs,闵可,夫斯基,入点
来源: https://www.cnblogs.com/Flying2018/p/14710751.html