ABC159F Knapsack for All Segments

原题

翻译

O(n3) 的朴素 dp 是 simple 的

考虑定义一个子序列是”好的子序列”当且仅当 alar 都在子序列中,容易发现他对答案的贡献是包含他的区间,即 l×(nr+1)

先说我自己的做法:设 dpi,j 表示强制i 结尾,子序列和为 j 的答案,注意这里要带上他的左端点系数,即 l

容易得到递推式:

{dpi,j=j<idpi,jai(j>ai)dpi,j=i(j=ai)

其中可以用前缀和优化转移,做到 O(n2)

题解里做法大同小异,他们但去掉了强制的设定,变成了一个 01 背包问题然后求解,而对于钦定

最终复杂度 O(n2)

posted @   FOX_konata  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
点击右上角即可分享
微信分享提示