题意:

N个数。a1...aN。

对于每个数而言,每一步只能加一或减一。

问最少总共需要多少步使得新序列是非递减序列。

N (1 ≤ N ≤ 5000)

思路:

*一个还不知道怎么证明的结论(待证):最后的新序列b1...bN中的每一个数bi,一定是原a1..aN序列中的某个数。

将a1..aN从小到大排列,得到c1...cN。

dp[i][j]:原序列前i个数经过操作,第i个数不超过c[j]所花最少步数。

dp[i][j]=min( dp[i-1][j]+abs(a[i]-b[j]),dp[i][j-1] )

然后用滚动数组。

代码:

int const N=5005;
int n;
ll a[N],b[N];
ll dp[N];int main(){cin>>n;rep(i,1,n){scanf("%I64d",&a[i]);b[i]=a[i];}mem(dp,0);dp[0]=INF;sort(b+1,b+1+n);rep(i,1,n){ //前i个rep(j,1,n){ //最后一个高度不超过第b[j]个的高度dp[j]=min( dp[j]+abs(a[i]-b[j]),dp[j-1] );}}ll ans=INF;rep(i,1,n){ans=min(ans,dp[i]);}printf("%I64d\n",ans);return 0;
}

转载于:https://www.cnblogs.com/fish7/p/4318136.html

cf13C Sequence(DP)相关推荐

  1. 【XSY2564】sequence(dp)

    题面 [题目描述] 给定一个长度为nnn的由['0'...'9'][\text{'}0\text{'}...\text{'}9\text{'}]['0'...'9']组成的字符串sss,v[i,j]v ...

  2. HDU 6078 Wavel Sequence (dp)

    Description Have you ever seen the wave? It's a wonderful view of nature. Little Q is attracted to s ...

  3. HDOJ-2062 :Subset sequence(DP)

    题目:求子集序列 Consider the aggregate An= { 1, 2, -, n }. For example, A1={1}, A3={1,2,3}. A subset sequen ...

  4. HDU 6078 Wavel Sequence(dp)

    Description 定义波浪序列:a1 > a2 < a3-,现在给出一个长度为n的序列a和一个长度为m的序列b,求a和b的公共波浪子序列个数 Input 第一行一整数T表示用例组数, ...

  5. 【Codeforces】CF 5 C Longest Regular Bracket Sequence(dp)

    题目 传送门:QWQ 分析 洛谷题解里有一位大佬讲的很好. 就是先用栈预处理出可以匹配的左右括号在数组中设为1 其他为0 最后求一下最长连续1的数量. 代码 1 #include <bits/s ...

  6. 【UVa】Wavio Sequence(dp)

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...

  7. 【CF 149D】Coloring Brackets(dp)

    [CF 149D]Coloring Brackets(dp) D. Coloring Brackets time limit per test 2 seconds memory limit per t ...

  8. 求三角形最大面积(DP)

    求三角形最大面积(DP) 在OJ上奇迹般WA了:WA:70. Why? #include <iostream> #include <string.h> using namesp ...

  9. LeetCode 编辑距离 II(DP)

    1. 题目 给你两个单词 s 和 t,请你计算出将 s 转换成 t 所使用的最少操作数. 你可以对一个单词进行如下两种操作: 删除一个字符 替换一个字符 注意: 不允许插入操作 题目保证有解 示例: ...

最新文章

  1. python基础知识整理 第一节:入门记录(包含代码与执行结果)
  2. 一个好域名的作用和价值
  3. web前端入门学习 html5(2)
  4. IDEA入门之web项目导入jar包
  5. DataWorks 功能实践速览03期 — 生产开发环境隔离
  6. 初次接触GWT,知识点总括
  7. C++——《算法分析》实验叁——贪心算法与回溯法
  8. 【C语言】C语言的数据类型
  9. Linux 正则表达式 流编辑之sed awk
  10. 【转贴】gdb中的信号(signal)相关调试技巧
  11. easyui datagrid的getSelections只获取一行问题
  12. 使用 grep 查找所有包含指定文本的文件
  13. linux三剑客之awk
  14. 为什么Word字间距异常的大?怎么修正排版?
  15. 中国与印度软件工程师之比较…
  16. 搭建一个vue小页面(入门vue)
  17. 教你解决“邮件”应用不断提示输入密码的方法!
  18. 2021年遭遇苹果审核2.3.1的开发过审经历
  19. 阿里自然语言处理部总监分享:NLP技术的应用及思考
  20. AI大语音(一)——语音识别基础(深度解析)

热门文章

  1. 胶囊路由_评论:胶囊之间的动态路由
  2. 端到端机器学习_端到端机器学习项目:评论分类
  3. FPGA嵌入式处理器的选择策略
  4. 在信用健全的今天,史玉柱背负2.5亿债务还能翻身吗?
  5. linux 命令 考试,linux常用命令总结-第一次考试
  6. 计算机一级考试word操作题主要题型,(word)计算机一级考试题型.doc
  7. 有了CodinGame,玩着游戏就能学编程
  8. 区块链基础语言(三)——Go语言开发工具
  9. jvm 内存溢出问题排查方法
  10. 097实战 关于ETL的几种运行方式