关于一类最优解存在长度为 的循环节的问题
问题形式:给定长度为 的序列,要求选出一些位置,使这些位置满足限制条件 ,其中 满足性质:“若长为 的序列 满足条件,那么序列 也满足条件”,选出第 个位置的收益是 ,求最大收益。
关键在于证明一个引理:最优解一定存在长度为 的循环节。证明如下:
假设 , 等于 是 trivial 的。则把 分为若干个段, 从左往右, 第奇数个段 (下标从 1 开始) 的长度是余数 , 偶数段的长度是 , 共有奇数个段。
设 表示把所有与第 个段的下标奇保性相同的段全部改为 , 序列总权值的变化量 (不考虑合不合法)。显然 。我们想证明的, 其实是 ,反证, 假设不存在, 即 , 则
-
, 可以得到 。但 , 因此 。
-
, 可以得到 。 但 , 因此 。
-
以此类推得到 。
与 矛盾。证毕。
有长度为 的循环节,一切就都好做了。
本文作者:CharlieVinnie
本文链接:https://www.cnblogs.com/Charlie-Vinnie/p/17847680.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步