對於不嚴格單調的我們可以n^2DP,首先每個數一定在原數組中出現過,如果沒出現過不如減小到出現過的那個花費更小,效果相同

所以f[i][j]表示把i改到離散化后j的最小代價,每次維護前一狀態最小值mn再加上這次的值就是答案

圖像沒看懂:https://blog.csdn.net/lycheng1215/article/details/80089004

#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int maxn=;
const ll inf=1e18+;
int n,a[maxn],b[maxn];
ll f[maxn][maxn],mn[maxn];
inline ll min(ll a,ll b){return a<b?a:b;}
inline ll abs(ll a){return a<?-a:a;}
int main(){
scanf("%d",&n);
for(int i=;i<=n;i++)scanf("%d",&a[i]),a[i]-=i,b[i]=a[i];
sort(b+,b++n);
int bb=unique(b+,b++n)-b-; for(int i=;i<=n;i++){
ll mn=inf;
for(int j=;j<=bb;j++){
mn=min(mn,f[i-][j]);
f[i][j]=abs(b[j]-a[i])+mn;
}
}
ll ans=inf;
for(int i=;i<=bb;i++)
ans=min(ans,f[n][i]);
printf("%lld\n",ans); }

最新文章

  1. DIV+CSS规范命名大全
  2. javascript的几种继承
  3. 跟我一起写 Makefile
  4. 软件工程(GZSD2015)第二次作业文档模板
  5. Swift游戏实战-跑酷熊猫 06 创建平台类以及平台工厂类
  6. status pending状态
  7. Swift扩展(Extension)
  8. HTML标签语义化
  9. iOS数组、字典与json字符串的转换
  10. MinGW安装教程
  11. 解决一个Android Studio gradle的小问题
  12. sort 工具总结
  13. IO流---字符流(FileWriter, FileReader ,BufferedWriter,BufferedReader)
  14. eclipse在多modules项目结构下避免模块间依赖引用的场景
  15. python学习笔记-基础、语句、编码、迭代器
  16. vue组件化开发组件拆分原则是什么
  17. IDEA VS 常用高效 黄金 快捷键
  18. Django:视图views(三)
  19. VMware设置桥接上网
  20. GO_10:GO语言基础之error

热门文章

  1. Impala 安装笔记1一Cloudera CDH4.3.0安装
  2. handler message messagequeue详解
  3. Hadoop安全
  4. 异常描述:hibernate懒加载中,用OpenSessionInViewFilter解决之后,同时对一个collection创建两个session访问导致异常(Illegal attempt to associate a collection with two open sessions)
  5. java编程思想-基础
  6. html5--3.14 lable元素和label属性
  7. BZOJ_3729_Gty的游戏_博弈论+splay+dfs序
  8. xen添加网卡
  9. 3-3 浮点型字面量 &amp; 3-4浮点型案例
  10. Ubuntu16.04 安装Python3.6 报错