题意:

有n件物品,从中选出2*k件,使得这k组物品,每组中两件物品重量之差的平方的和最小

题解:

先对n个物品排序,尽量选择与之相邻的一个物品使其配对,

dp[i][j]表示在前j个物品里选i对出来

那么对于第j个物品,有两种选择:选或不选 ,即dp[i][j-1]或dp[i-1][j-2]+(a[j]-a[j-1])^2

#include<cstdio>
#include<cstring>
#include<string>
#include<iostream>
#include<sstream>
#include<algorithm>
#include<utility>
#include<vector>
#include<set>
#include<map>
#include<queue>
#include<cmath>
#include<iterator>
#include<stack>
using namespace std;
const int INF=0x3f3f3f3f;
const double eps=1e-7;
const int mod=1000007;
const int maxn=2005;
int dp[maxn][maxn];
int a[maxn];
int main()
{int n,k;while(cin>>n>>k){for(int i=1;i<=n;i++)cin>>a[i];sort(a+1,a+1+n);memset(dp,INF,sizeof dp);//表示无法到达 for(int i=0;i<=n;i++)dp[0][i]=0;//不需要选任何物品 for(int i=1;i<=k;i++){for(int j=2;j<=n;j++)dp[i][j]=min(dp[i][j-1],dp[i-1][j-2]+(a[j]-a[j-1])*(a[j]-a[j-1]));}cout<<dp[k][n]<<endl;}
}

hdu 1421 动态规划相关推荐

  1. hdu 1421 搬寝室 动态规划

    http://acm.hdu.edu.cn/showproblem.php?pid=1421 d[n][m] : 在前n个物品里选m对的最小疲劳 当地n件不选时 d[n][m]=d[n-1][m] 当 ...

  2. HDU OJ 动态规划46题解析

    Robberies http://acm.hdu.edu.cn/showproblem.php?pid=2955  背包;第一次做的时候把概率当做背包(放大100000倍化为整数):在此范围内最多能抢 ...

  3. [恢]hdu 1421

    2011-12-24 12:13:01 地址:http://acm.hdu.edu.cn/showproblem.php?pid=1421 题意:有n样物品,每样物品有重量.要选k对,每对代价是俩物品 ...

  4. hdu 3819动态规划

    其实这题算动态规划有点牵强,因为它最大的难点和突破点在于把问题进行转化.我的做法是,先数出字符串的总数total和'A'的数目anum,然后只要在字符串中找出长度为anum的连续一段,它的'A'数最多 ...

  5. FatMouse's Speed hdu 1160(动态规划,最长上升子序列+记录路径)

    http://acm.hdu.edu.cn/showproblem.php?pid=1160 题意:现给出老鼠的体重与速度,要求你找出符合要求的最长子序列.       要求是 W[m[1]] < ...

  6. hdu 4055 hdu 4489 动态规划

    hdu 4055: 一开始我想的递推方向想得很复杂,看了别人的博客后才醍醐灌顶: 参照他的思路和代码: 1 #include<cstdio> 2 #include<cstring&g ...

  7. hdu 5234 动态规划

    http://acm.hdu.edu.cn/showproblem.php?pid=5234 1 1 2 //n,m,k(1--100) 3 2 3 100 1 2 3 4 5 6 Sample Ou ...

  8. hdu 1421 搬寝室 (dp)

    思路分析: dp[i][j] 表示选取到第 i 个   组成了 j 对的最优答案. 当然排序之后 选取相邻两个是更优的. if(i==j*2) dp[i][j] = dp[i-2][j-1] + w[ ...

  9. hdu 3199 动态规划

    f[0]=1; 动规方程  f[i]=min(p1*f[x1],p2*f[x2],p3*f[x3]); 这题用long long 竟然WA #include<cstdio> #includ ...

最新文章

  1. R单变量可视化(Histograms、 Index Plots、Time-Series Plots、Pie Charts)
  2. mqtt连接失败_Netty实战:如何让单机下Netty支持百万长连接?
  3. TCODE找相應的BAPI(主要是找到包PACKAGE)
  4. 移动互联网派生app研究报告
  5. 如何使用 IntelliJ IDEA 2017 配置PHP开发环境 及项目搭建
  6. [转载]在 WPF 專案中開啟 Blend
  7. python中文件打开的合法模式组合_以下选项中,不是Python文件打开的合法模式组合是:...
  8. 字符设备驱动笔记——中断方式按键驱动之linux中断处理结构(五)
  9. 凸优化学习笔记(五):凸优化算法、无约束优化算法、有约束优化算法
  10. 魅族刷机教程【最简单】
  11. Android 如何发送地理位置消息
  12. 网上流量卡这么便宜,线上申请的流量卡有虚标吗
  13. 微信小程序 - 解决 rich-text 富文本解析图片无法自适应宽高问题(图片超出屏幕宽度且不受控)
  14. 斯坦福大学-自然语言处理入门 笔记 第十四课 CGSs和PCFGs
  15. 1.1 数列极限与函数极限
  16. Android学习之导航
  17. 异构核间通信mailbox原理研究
  18. Pr学习DAY3-----详解“源监视器面板“与“节目监视器面板“
  19. iOS WKWebView 播放视频时禁用自动全屏播放
  20. 解决老安卓系统根证书缺失或过期导致的网站访问错误及软件运行问题. 2023-03-05

热门文章

  1. FFmpeg命令行工具学习(三):媒体文件转换工具ffmpeg
  2. SpringMVC Restful api接口实现
  3. poj1364 King
  4. Elasticsearch之批量操作bulk
  5. 怪自己,好好的服务器,装啥播放器。。。
  6. mac下使用自带的apache与php
  7. (转)ASP.NET-关于Container dataitem 与 eval方法介绍
  8. ASP.NET技术的学习顺序
  9. mysql 结构优化建议_MySQL优化之表结构优化的5大建议(数据类型选择讲的很好)...
  10. 大学计算机基础 课程的说课,大学计算机基础资料说课稿.ppt