hdu 1421 搬寝室 (dp)
思路分析:
dp[i][j] 表示选取到第 i 个 组成了 j 对的最优答案。
当然排序之后 选取相邻两个是更优的。
if(i==j*2) dp[i][j] = dp[i-2][j-1] + w[i]-w[i-2]^2..
else if( i> j*2 ) dp[i][j] = min (dp[i-2][j-1] + ...^2 , dp[i-1][j])....
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cstring>
#include <set>
#include <vector>
#define maxn 30005
using namespace std; int dp[2005][1005];
int a[2005];
int sqr(int x)
{
return x*x;
}
int main()
{
int n,k;
while(scanf("%d%d",&n,&k)!=EOF)
{
for(int i=1;i<=n;i++)scanf("%d",&a[i]);
sort(a+1,a+1+n); memset(dp,0x3f,sizeof dp);
for(int i=0;i<=n;i++)dp[i][0]=0;
for(int i=2;i<=n;i++)
{
for(int j=0;2*j<=i;j++)
{
if(i==j*2)dp[i][j]=min(dp[i][j],dp[i-2][j-1]+sqr(a[i]-a[i-1]));
else if(i>j*2){
dp[i][j]=min(dp[i][j],min(dp[i-1][j],dp[i-2][j-1]+sqr(a[i]-a[i-1])));
}
}
}
printf("%d\n",dp[n][k]);
}
return 0;
}
hdu 1421 搬寝室 (dp)的更多相关文章
- hdu 1421:搬寝室(动态规划 DP + 排序)
		搬寝室 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submiss ... 
- 题解报告:hdu 1421 搬寝室(递推dp)
		题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1421 Problem Description 搬寝室是很累的,xhd深有体会.时间追述2006年7月9 ... 
- HDU 1421 搬寝室 (线性dp 贪心预处理)
		搬寝室 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submis ... 
- hdu 1421 搬寝室(dp)
		Problem Description 搬寝室是很累的,xhd深有体会.时间追述2006年7月9号,那天xhd迫于无奈要从27号楼搬到3号楼,因为10号要封楼了.看着寝室里的n件物品,xhd开始发呆, ... 
- HDU 1421 搬寝室(经典DP,值得经常回顾)
		搬寝室 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status D ... 
- HDU 1421 搬寝室
		搬寝室 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submiss ... 
- HDU 1421 搬寝室 解题报告(超详细)
		**搬寝室 Time Limit: 2000/1000 MS Memory Limit: 65536/32768 K Problem Description 搬寝室是很累的,xhd深有体会.时间追述2 ... 
- 【dp】HDU 1421 搬寝室
		http://acm.hdu.edu.cn/showproblem.php?pid=1421 [题意] 给定n个数,要从n个数中选择k个二元组{x,y},最小化sum{(x-y)^2} 2<=2 ... 
- [HDU 1421]搬寝室(富有新意的DP)
		题目地址:pid=1421" target="_blank">http://acm.hdu.edu.cn/showproblem.php? pid=1421 题目大 ... 
随机推荐
- android中使用DisplayMetrics获取屏幕参数
			--关于Density int android.graphics.Bitmap.getDensity(),返回bitmap-density(密度).默认的density就是当前display-dens ... 
- ios7状态栏属性的设置
			/* 状态栏的管理: 1> iOS7之前:UIApplication进行管理 2> iOS7开始:交给对应的控制器去管理 */ // 设置状态栏的样式 - (UIStatusBarStyl ... 
- HDU 4825 Xor Sum 字典树+位运算
			点击打开链接 Xor Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 132768/132768 K (Java/Others) ... 
- ubuntu ???????????? no permissions 问题解决
			近期的一个项目须要用到linux开发android程序! 发现ubuntu有小米开发连接不上! 搞了一个下午才搞成功! 看看吧! 小米手机利用USB连接到Ubuntu 10.04系统.执行以下的命令 ... 
- c# .net  读取json 字符串 与序列化和反序列化json字符串
			命名空间 using Newtonsoft.Json.Linq; JObject obj = JObject.Parse("json字符串");用 obj["" ... 
- ThinkPHP - 加载第三方类库
			目录结构: 将核心的第三方目录放置在Apps下的Core目录中. 这样其他控制器便可以轻松访问. *为什么不直接放在ThinkPHP框架既有的第三方文件夹中,答案是便于升级,升级TP版本时,可直接替换 ... 
- JNI之HelloWorld
			什么是JNI? JNI java本地开发接口 JNI 是一个协议 这个协议用来沟通java代码和外部的本地代码(c/c++). 通过这个协议,java代码就可以调用外部的c/c++代码 外部的c/c+ ... 
- Android ListView两种长按弹出菜单方式
			转自:http://www.cnblogs.com/yejiurui/p/3247527.html package com.wyl.download_demo; import java.util.Ar ... 
- Oracle 游标疑问
			procedure1: CREATE OR REPLACE PROCEDURE UPDATE_AC02_AAE140_WYL(PI_AAB001 IN NUMBER, PO_FHZ OUT VARCH ... 
- Hbuilder主页面控制子页面的方法
			主页面的写法 (function($, doc) { mui.init({ swipeBack : false, ... 
