P9408 『STA - R2』Locked
比较没意思的 dp。
考虑将前 $i$ 个数变成不降序列,将后 $i$ 个数变成不增序列。
记 $i$ 滑动到 $j$ 的距离是 $d_{i,j}$。设 $p_{i,j}$ 表示前 $i$ 个变为不降,最后一个数是 $j$ 的最少花费。则有:
$$p_{i,j}=\min_{k=0}^j p_{i-1,k}+d_{a_i,k}$$
$q$ 同理。于是 dp 完就可以枚举峰值然后统计了。
这里做到了 $\Theta(nv^2)$。非常显然可以前缀 $\min$ 优化。但是我懒得优化,$5\times 10^8$ 只要足够自信就能冲过去。甚至使用循环展开跑的和优化后的 $\Theta(nv)$ 几乎一样。
代码太长,我扔云剪贴板吧:link。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)