poj 3666 河南省第七届程序设计D题(山区修路)
题目大意:
给定一个序列,以最小代价将其变成单调不增或单调不减序列,求最小的变动价值;需要用到离散化dp
状态转移方程:
dp[i][j]=abs(j-w[i])+min(dp[i-1][k]);(k<=j)这里的k无需从1遍历到j。
只要在对j进行for循环的时候不断更新一个dp[i-1][j]的最小值mn=min(mn,dp[i-1][j]),
然后对dp[i][j]=abs(j-w[i])+mn即可;
1 #include<algorithm> 2 #include<iostream> 3 #include<cstdio> 4 #include<cstring> 5 #include<cmath> 6 using namespace std; 7 const int N = 550; 8 const int MAX = 0x3fffffff; 9 long long dp[N][N]; 10 int a[N],b[N],n; 11 int cmp(int x,int y) 12 { 13 if(x>y) return 1; 14 return 0; 15 } 16 long long solve() 17 { 18 for(int i=1; i<=n; i++) 19 { 20 long long mn = dp[i-1][1]; 21 for(int k =1; k<=n; k++) 22 { 23 mn = min(mn,dp[i-1][k]); 24 dp[i][k] = abs(a[i]-b[k])+mn; 25 } 26 } 27 long long ans = dp[n][1]; 28 for(int i =1; i<=n; i++) 29 { 30 ans = min(ans,dp[n][i]); 31 } 32 return ans; 33 } 34 int main() 35 { 36 int T; 37 scanf("%d\n",&T);//poj这个地方不是T组数据,需要改动输入 38 while(T--) 39 { 40 scanf("%d",&n); 41 for(int i = 1; i<=n; i++) 42 { 43 scanf("%d",&a[i]); 44 b[i] = a[i]; 45 } 46 sort(b+1,b+n+1); 47 long long ans1 = solve();//一次递增序列 48 sort(b+1,b+1+n,cmp); 49 long long ans2 = solve();//一次递减序列求最小值 50 long long ans=min(ans1,ans2); 51 printf("%lld\n",ans); 52 } 53 return 0; 54 }
转载于:https://www.cnblogs.com/lovychen/p/4425058.html
poj 3666 河南省第七届程序设计D题(山区修路)相关推荐
- 2016 Bird Cup ICPC7th@ahstu--“波导杯”安徽科技学院第七届程序设计大赛
"波导杯"安徽科技学院第七届程序设计大赛 原文章网页 Contest - 2016 "Bird Cup" ICPC7th@ahstu Start time: ...
- 蓝桥杯第七届决赛真题大全题解(java版本)
文章推荐 精选java等全套学习资源 精选java电子图书资源 精选大数据学习资源 java项目练习精选 >蓝桥杯第七届决赛第一题[(详情(愤怒小鸟))](http://blog.csdn.ne ...
- 陕西师范大学第七届程序设计竞赛网络同步赛题解
心累,昨天一天3个比赛,全部炸掉,这个陕西师范的比赛我真的读不懂题目,只搞出来7题,难受 A,B,F签到题,不讲了,只讲C,D,I,K 链接:https://www.nowcoder.com/acm/ ...
- 哈尔滨理工大学第七届程序设计竞赛初赛 题集
1. 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 这是mengxiang000和Tabri ...
- 哈尔滨理工大学第七届程序设计竞赛初赛(低年级组)
水题就不做讲解了~~~~~: A 蓝廋.香菇 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 ...
- 河南省第七届省赛 问题 F: Turing equation 水题
**题目描述 The fight goes on, whether to store numbers starting with their most significant digit or the ...
- 陕西师范大学第七届程序设计竞赛 C题 iko和她的糖
链接: https://www.nowcoder.com/acm/contest/121/C 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其他语言26 ...
- 哈尔滨理工大学第七届程序设计竞赛决赛(网络赛-高年级组)G - 幼儿园战争...
题目描述 幼儿园的孩子们正在做游戏,每个人都有自己的帮派,帮派之间打架,然后赢者吞并弱者扩大自己的势力.最开始每个孩子的帮派中只有自己,然后接下来有会有两个人打架,这两个人会集结自己所属的势力开始打架 ...
- 哈尔滨理工大学第七届程序设计竞赛初赛(高年级组)题解
比赛链接:https://www.nowcoder.com/acm/contest/27#question A: 小Z的体型实在是太胖了,每次和小D一起出门都跟不上小D的脚步,这让小Z很气馁,于是小Z ...
- 陕西师范大学第七届程序设计竞赛网络同步赛 J 黑猫的小老弟【数论/法拉数列/欧拉函数】...
链接:https://www.nowcoder.com/acm/contest/121/J 来源:牛客网 题目描述 大家知道,黑猫有很多的迷弟迷妹,当然也有相亲相爱的基友,这其中就有一些二五仔是黑猫的 ...
最新文章
- 深度学习几种典型架构
- ASP.NET MVC 入门3、Routing
- Linux C : TCP/IP 和 网络编程
- android_secure写权限,android.permission.WRITE_SECURE_SETTINGS权限报错
- 信息学奥赛C++语言: 输出矩形
- OpenStack实践系列②认证服务Keystone
- MTK 驱动开发(24)---camera模块的制作
- centos选择php7 作为默认版本_树莓派下安装Nginx+Php7.3 搭建Web服务器
- 类和对象编程(四):拷贝构造函数
- matlab 可视化 —— 常用绘图函数
- Picturebox实现图片的缩放
- vm14卡顿及安装linux黑屏问题
- leapftp 3.0.1使用教程,leapftp 3.0.1使用教程图解
- Non-local:用于捕获长距离依赖关系
- 防火墙命令补充和dmz_远程管理
- Edge兼容IE,Edge关闭弹窗阻止
- OSChina 周一乱弹 ——月薪三万长的帅的为啥找不到女朋友
- 6.2 用迹求特征多项式
- 机器学习算法之决策树算法
- 3*3*3魔方旋转算法