CF1845D

原题

翻译

我写了个线段树233

我们发现对于一个固定的k,我们可以把原序列分为三段:

  • 上升到k以上
  • 想要下降到k以下但被k卡住
  • 随意上升下降但始终超过k直到最后

我们为了让最后的结果最大,我们想要最大化第二段后的数。所以我们的操作就等价于选出一个贡献为负的区间[l,r]然后把他贡献变为0。原问题就变成了求最小字段和的问题。

时间复杂度O(n)

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