hdu1421搬寝室DP(ACM题目,动态规划)
2013-04-09 19:56
405 查看
hdu1421搬寝室DP(ACM题目,动态规划)
分类:学习总结 数据结构和算法
2011-11-07 19:14
327人阅读 评论(0)
收藏
举报
分析:dp[i][j]表示前i个元素中 j 对数的最小差平方和
dp[i][j] = min(dp[i-1][j], dp[i-2][j-1] + (weight[i] - weight[i-1])*(weight[i] - weight[i-1]));
code:
#include<stdio.h>
#include<stdlib.h>
#define min(a,b) ((a) > (b) ? (b) : (a))
#define MaxAllow 2147483648
const int num = 2001;
int cmp(const void* a, const void *b)
{
return *(int*)a - *(int*)b;
}
int dp[num][1001]; //数组要在函数外定义,不然太大不行,无语,又卡了n久
int main()
{
int n, k;
int i, j;
int weight[num];
while(scanf("%d%d", &n, &k) != EOF)
{
for(i = 1; i <= n; i++)
scanf("%d", &weight[i]);
qsort(weight+1, n, sizeof(weight[0]), cmp);
for(i = 0; i <= n; i++)
for(j = 1; j <= k; j++)
dp[i][j] = MaxAllow;
dp[0][0] = 0;
for(i = 2; i <= n; i++)
for(j = 1; j*2 <= i; j++)
{
dp[i][j] = min(dp[i-1][j],dp[i-2][j-1]+(weight[i]-weight[i-1])*(weight[i] - weight[i-1]));
}
printf("%d\n", dp
[k]);
}
return 0;
}
相关文章推荐
- hdu1421搬寝室DP(ACM题目,动态规划)
- 【ACM】hdu1421 搬寝室 (简单DP)
- hdu1421搬寝室 DP
- [zz] POJ 动态规划DP题目列表
- 动态规划练习题:概率DP总结,求解数学期望或概率的题目
- Pku acm 1125 Stockbroker Grapevine 动态规划题目解题报告(十九)
- HDU 1421 动态规划(DP) 搬寝室
- Pku acm 1088 滑雪 动态规划题目解题报告(十五)
- ACM 动态规划 POJ1042题目分析
- (动态规划)HDU1421搬寝室
- hdu 题目1421 搬寝室(DP)
- 【ACM训练计划】 HDU 动态规划(46道题目)倾情奉献~ 【只提供思路与状态转移方程】
- hdu1421 搬寝室 DP
- 1421 搬寝室 动态规划(DP)
- HDOJ 题目1421 搬寝室(动态规划)
- hdu1421 搬寝室 【线性DP】
- ural1009 第一个动态规划(dp)题目 。。。似乎也可以用dfs+记忆化收索 解。。。
- hdu1421 搬寝室 DP
- ACM: dp题(动态规划) poj 2151 (d…
- hdu1421 搬寝室(dp)