wqs二分&闵可夫斯基和学习笔记
作者:互联网
博客仍在施工中
关于 wqs 二分部分可以参考 跳蛙的博客 或者 原论文,基础部分这里略过。
wqs 二分与费用流
事实上要严格证明一个函数是凸的需要不少时间,比如经典的 wqs 二分问题:
给定长度为 \(n\) 序列 \(a_i\),要求选择恰好 \(k\) 个不相交的非空子区间,使得选中元素的价值和最大。
其实直接证明它的凸性并不容易,或者说并没有那么显然。
但是我们知道的一点是,费用流模型的函数一定是凸的。这里费用流函数 \(F(x)\) 指的是钦定源点 \(S\) 向汇点 \(T\) 流恰好 \(x\) 的流量下的最小费用。
也就是说,如果我们能够将上述问题建出流量为 \(k\) 费用流模型,那么自然证明了答案关于 \(k\) 是凸的。
而上述问题很容易建出费用流模型:
自然就证明了答案是一个凸性的函数。
事实上,大部分 wqs 二分的问题都可以建出费用流模型(当然复杂度不一定正确)。
举个例子:
[八省联考2018]林克卡特树
事实上这题相当于点有限流,每次可以流任意一条简单路径。
那费用流模型也很显然,直接将每个点拆成入点和出点,一条树边对应出点向入点连边。类似于上图的形式(不过扩展到了树上而已)
然后源点向每个点,每个点向汇点分别连 \((\inf,0)\) 表示可以任选两个点作为起点终点。
然后就可以套上 wqs 二分了。之后 dp 内容不是本文重点,故不予阐述。
标签:二分,费用,函数,模型,wqs,闵可,夫斯基,入点 来源: https://www.cnblogs.com/Flying2018/p/14710751.html