前言
在NOI2016D1T2国王饮水记中有一个叫定理10的东西,picks讲课的PPT中并没有给出详细的推导过程。本人根据PPT中所说的大致思想,尝试证明了定理10,现写在下方。如有错误或不严谨之处,麻烦指出,万分感激。
证明


假设我们的最优解有l段长度大于1,这些段的长度记为Li(i∈[1,l]),每段水位的平均值记为ai,我们考虑每一个城市的水位的贡献,用这些贡献拼出最后的高度。
最优解的最终高度:
x+L1a1L1+1+L2a2L2+1...+LlalLl+1+h12+h22....
按照PPT所说替换之后的最终高度:
x+L2a2L2+1...+Llal−al+1Ll+al+12+h12....
根据我们的假设,上式大于等于下式。因为显然对于后面若干个长度为一的操作区间,对于答案的贡献是一样的,所以我们要比较的实际上就是:
x+L1a1L1+1+L2a2L2+1...+LlalLl+1
和:
x+L2a2L2+1...+Llal−al+1Ll+al+12
写成和式的形式:
xΠli=1(Li+1)+l∑i=1LiaiΠj<=lj=i(Lj+1)
(L1+1)xΠli=1(Li+1)2LlLl+1+l∑i=1LiaiΠj<=lj=i(Lj+1)2LlLl+1+al+1Ll−12Ll
由上式>下式得:(下面是移项并整理的结果)
L1a1Πli=1(Li+1)≥((Ll+1)(L1+1)2Ll−1)xΠli=1(Li+1)+1−Ll2Lll∑i=1LiaiΠj<=lj=i(Lj+1)+al+1Ll−12Ll
最前面一项不好处理,直接甩掉。(当然最前面一项大于0,可以轻松地证明,这里不赘述)
L1a1Πli=1(Li+1)≥1−Ll2Lll∑i=1LiaiΠj<=lj=i(Lj+1)+al+1Ll−12Ll
L1a1Πli=1(Li+1)≥Ll−12Ll(al−l∑i=1LiaiΠj<=lj=i(Lj+1))
把al放缩成al−1+Δ,拿出al−1这一项,整理化简:
L1a1Πli=1(Li+1)≥Ll−12Ll(1Ll+1al−l−1∑i=1LiaiΠj<=lj=i(Lj+1))+Ll−12LlΔ
继续放缩,拿,一直拿完所有的,化简可得:
L1a1Πli=1(Li+1)≥Ll−12Ll(a1Πli=1(Li+1))+Ll−12LlΔ
甩掉第一项(影响不大):
L1a1Πli=1(Li+1)≥Ll−12LlΔ
这个和PPT里面只是一个log32的差距(约等于0.64)。
从这个式子推到卡住l的界的过程很简单,注意任何一个L大于等于2即可,在此不赘述。
以上。
结语
写完之后才发现这个定理的证明其实并不重要,这个定理几乎全部的意义在于它通过微调最优解来卡某个值的界的这种毒瘤的想法,真的nb。
本文作者:永无岛
本文链接:https://www.cnblogs.com/thedreammaker/p/13160375.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步