AtCoder ABC 263 D 题解
1.AtCoder ABC 263 D 题解
AtCoder ABC 263 D 题解
前言
本蒟蒻的第一篇题解,大佬勿喷 QwQ
传送门们
正文
设有 \(x\) 使得 \(x\leq k\) 时,令 \(f(k)\) 为对 \(A'\) 进行运算后 \(A'=(A_1,A_2,\ldots,A_k)\) 的最小和。
同理,对于 \(y\) 使得 \(y\leq k\) 时,令 \(g(k)\) 为对 \(A''\) 进行运算后 \(A''=(A_{N-k+1},\ldots,A_N)\) 的最小和。
如果我们能求出 \(f(0),f(1),\ldots,f(N),g(0),g(1),\ldots,g(N)\),那么答案就是 \(\min(f(i)+g(N-i))\)。
我们设 \(f(0)=0\)。要想求得 \(f(k+1)\),我们需要先求得 \(f(k)\)。这取决于是否有 \(x<k+1\)。
分类讨论
-
如果 \(x<k+1\),则最小和为 \(f(k)+A_{k+1}\)。
-
如果 \(x=k+1\),则最小和为 \(L(k+1)\)。
因此,我们可以求得 \(f(k+1)=\min(f(k)+A_{k+1},L(k+1))\)。
同理可求得 \(g(k)\),时间复杂度 \(\mathrm{O}(N)\)。
AC Code
__EOF__

本文作者:TigerTanWQY
本文链接:https://www.cnblogs.com/TigerTanWQY/p/18012594.html
关于博主:GD-SZ 初一蒟蒻,明年拿下六级勾
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/TigerTanWQY/p/18012594.html
关于博主:GD-SZ 初一蒟蒻,明年拿下六级勾
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现