codeforces 713C
来源:互联网 发布:手机驱鼠软件 编辑:程序博客网 时间:2024/06/05 03:27
题意:就是把一个数列变成严格递增的数列 求最小花费
思路:直接考虑结果的整个数列 必然存在那么几个数 他是从始至终 都没有变过 那么假设有一些数会受到这个数影响 比如一个数ai不变 如果aj 是受ai影响 那么就会消耗
abs(ai-i-aj+j) 那么我把每一个ai-i设为一个基准线 那么dp[ai-i]就是当前基准线花费最小的情况 既可获得答案
#include <iostream>#include <stdio.h>#include <algorithm>#include <string.h>#include <vector>using namespace std;#define N 3005#define LL long longint a[N];int b[N];int c[N];int cnt,tot;LL dp[N][N];LL s[N];int main(){ int n; scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%d",&a[i]); c[cnt++]=a[i]-i; } sort(c,c+cnt); for(int i=1;i<=n;i++) { for(int j=0;j<cnt;j++) { dp[i][j]=s[j]+abs(a[i]-i-c[j]); } s[0]=dp[i][0]; for(int j=1;j<cnt;j++) { s[j]=min(dp[i][j],s[j-1]); } } printf("%lld\n",s[cnt-1]); return 0;}
0 0
- codeforces 713C
- codeforces 713C dp+离散
- POJ 3666 + codeforces 713C (dp)
- POJ3666 Making the Grade & Codeforces 713C
- [堆与斜率] Codeforces 713C
- Codeforces-340-C(c++)
- Codeforces-507-C(c++)
- CodeForces 731C C
- CodeForces-612C C
- CODEFORCES 265C CODEFORCES, 265C
- codeforces #78 div2 C
- Codeforces 117C Cycle
- CodeForces 209C
- CodeForces 156C Cipher
- codeforces 148 div2 C
- codeforces 242C
- Codeforces-234C Weather
- codeforces 106C Buns
- nginx rewrite 指令last break区别
- 数据结构 单链表简单实现
- 深入浅出:Linux设备驱动之字符设备驱动
- 第一次调试和测试Caffe lenet网络
- Min Stack 的总结
- codeforces 713C
- 【JZOJ4805】【NOIP2016提高A组模拟9.28】跟踪
- overridePendingTransition的简介
- hive加载json格式文件的方法
- Java中的类加载机制
- Hibernate.cfg.xml 详解
- linux 组调度浅析
- Mac上安装nginx
- Android基础之 EditText运用