HDOJ1421搬寝室(动态规划)
来源:互联网 发布:linux ed2k 下载工具 编辑:程序博客网 时间:2024/05/24 05:30
分析:题目意思应该很清楚,想到首先需把所有的东西按重量排下序,然后再想办法。数据不大但涉及很大量的重复问题,应该想到用动态规划思想。i表示要搬东西的数量,j表示要搬的次数,状态方程:dp[i][j]=min(dp[i-1][j],dp[i-2][j-1]+(num[i-2]-num[i-1])^2
代码:
#include<iostream>#include<stdio.h>#include<cstring>#include<algorithm>using namespace std;int num[2010];int dp[2005][2005];//可改为滚动数组做,dp[3][2005],这样没超时,就没简化int main(){ int n,m,i,j; while(scanf("%d%d",&n,&m)!=EOF) { for(i=0;i<n;i++) scanf("%d",&num[i]); sort(num,num+n); for(i=0;i<n;i++) { for(j=1;j<n;j++) dp[i][j]=100000000; dp[i][0]=0; } for(i=2;i<=n;i++) for(j=1;j<=m,j<=i;j++) dp[i][j]=min(dp[i-1][j],dp[i-2][j-1]+(num[i-1]-num[i-2])*(num[i-1]-num[i-2])); printf("%d\n",dp[n][m]); } return 0;}
- HDOJ1421搬寝室(动态规划)
- hdoj1421 搬寝室(基础DP)
- hdoj1421 搬寝室 (dp)
- hdoj1421搬寝室【dp】
- HDOJ1421 搬寝室(dp)
- hdoj1421搬寝室
- HDOJ1421 搬寝室 DP
- hdoj1421-搬寝室
- 搬寝室-动态规划
- 动态规划-搬寝室
- 1421 搬寝室 动态规划(DP)
- (动态规划)HDU1421搬寝室
- hdu1421搬寝室【动态规划】
- HDU1421 搬寝室 动态规划
- 动态规划--hdu1241搬寝室
- hdu1421搬寝室DP(ACM题目,动态规划)
- hdu1421搬寝室DP(ACM题目,动态规划)
- HDOJ 题目1421 搬寝室(动态规划)
- u盘安装centos
- 倒序输出单链表的内容
- 同一进程中的线程究竟共享哪些资源
- win7 64位下vmware8.0安装Mac 10.7--------cpu支持虚拟化
- hdu 1254 推箱子 双层bfs
- HDOJ1421搬寝室(动态规划)
- POJ 2528 Mayor's posters (线段树成段更新+离散化)
- ListView Control in C#.Net
- 北大拦截导弹
- 操作系统 信号量 vs 互斥锁
- POJ 3393 Lucky and Good Months by Gregorian Calendar
- 直接拖拽ipa包就能解压出图片资源
- 如何优化Cocos2d-X游戏的内存
- for循环语句头的执行顺序