博客仍在施工中
关于 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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。