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

posted @   TernaKagiri  阅读(3)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示