博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Sonya and Problem Wihtout a Legend CodeForces - 714E (dp)
阅读量:4447 次
发布时间:2019-06-07

本文共 563 字,大约阅读时间需要 1 分钟。

大意: 给定序列, 每次操作可以任选一个数+1/-1, 求最少操作数使序列严格递增.

 

序列全-i后转化为求最少操作数使序列非降, 那么贪心可以知道最后$a_i$一定是修改为某一个$a_j$了, 暴力dp即可.

#include 
#include
#define REP(i,a,n) for(int i=a;i<=n;++i)using namespace std;typedef long long ll;const int N = 3e3+10;int n, a[N], b[N];ll dp[N][N];int main() { scanf("%d", &n); REP(i,1,n) scanf("%d", a+i),a[i]-=i,b[i]=a[i]; sort(b+1,b+1+n); REP(i,1,n) dp[i][0]=1e18; REP(i,1,n) REP(j,1,n) dp[i][j]=min(dp[i][j-1],dp[i-1][j]+abs(a[i]-b[j])); printf("%lld\n", dp[n][n]);}

 

转载于:https://www.cnblogs.com/uid001/p/10760019.html

你可能感兴趣的文章
React的性能优化 - 代码拆分之lazy的使用方法
查看>>
React的新特性 ---- Hooks ---- 的基本使用
查看>>
History Introduction to Mining Industry of Czech
查看>>
富文本框
查看>>
mysql 恢复备份
查看>>
LeetCode-Create Maximum Number
查看>>
Process Class (System.Diagnostics)
查看>>
Core Animation系列之CADisplayLink
查看>>
dedecms标签调用大全
查看>>
《与小卡特一起学Python》Code1
查看>>
[ZJOI2007]捉迷藏 (点分树+堆*3)
查看>>
leetcode 412. Fizz Buzz
查看>>
对Netflix Ribbon的Loadbalancer类源码设计合理性的一点质疑
查看>>
关于日历的算法
查看>>
[QT编程]QT实现的一个渐隐渐显窗体
查看>>
在Web工程中引入Jquery插件报错解决方案
查看>>
大学总结之影响我最深的十本书
查看>>
用myEclipse连接数据源生成动态数据报表
查看>>
[myeclipse]@override报错问题
查看>>
자주 쓰이는 정규표현식
查看>>