hdu1421 搬寝室 DP
转载:
/*证明:从4个数中 a b c d 依次递增;
选取相邻的两个数一定是最小得
及:(a-b)^2+(c-d)^2<(a-c)^2+(b-d)^2&&(a-b)^2+(c-d)^2<(a-d)^2+(b-c)^2;
//先排序,假设从n-1个中选取k对是最少得,那么从n个中选取k对,可以这样分析 对n-1个数 再在末尾增加一个数,那么这个数可能被选中成为k对中其中一对,可能不被选中,如果不被选中,那么从n个中选取k对就相当于从n-1个中选取k对,如果被选中,之前证明了选中的数必须是连续的两个才能事最小,那就相当于从n-2个数中选取k-1对加最后两个数成为,这样,状态转移方程就为dp[i][j]=min(dp[(i-1)][j],dp[(i-2)][j-1]+(a[i-1]-a[i])*(a[i-1]-a[i]));
*/
我的AC代码:
1 #include<cstdlib> 2 #include<iostream> 3 #include<cstdio> 4 #include<cstring> 5 #include<algorithm> 6 #include<cmath> 7 using namespace std; 8 #define MAX 2010 9 int dp[MAX][MAX]; 10 int f[MAX]; 11 int n,k; 12 int main() 13 { 14 while(scanf("%d%d",&n,&k)!=EOF) 15 { 16 int i,j; 17 for( i=1;i<=n;i++) 18 scanf("%d",&f[i]); 19 sort(f+1,f+n+1); 20 memset(dp,0,sizeof(dp)); 21 for( i=2;i<=n;i++) 22 for( j=1;j<=k&&j*2<=i;j++) 23 if(i==j*2) dp[i][j]=dp[i-2][j-1]+(f[i]-f[i-1])*(f[i]-f[i-1]); 24 else 25 dp[i][j]=min(dp[i-1][j],dp[i-2][j-1]+(f[i]-f[i-1])*(f[i]-f[i-1])); 26 cout<<dp[n][k]<<endl; 27 } 28 return 0; 29 }
View Code
转载于:https://www.cnblogs.com/xiaozhuyang/p/hdu1421.html
hdu1421 搬寝室 DP相关推荐
- HDU1421 搬寝室
题目:搬寝室 典型的DP,状态方程: dp[k][i]=min(dp[k-1][i-2]+(a[i]-a[i-1])^2,dp[k][i-1]); dp[k][i] 表示 k 对物品在 ...
- 动态规划——搬寝室(hdu1421)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1421 题目描述: 搬寝室是很累的,xhd深有体会.时间追述2006年7月9号,那天xhd迫于无奈要从 ...
- 搬寝室(HDU 1421 DP)
搬寝室 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submis ...
- 题目1452:搬寝室(dp题目)
题目链接:http://ac.jobdu.com/problem.php?pid=1452 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: ...
- HDU 1421 搬寝室 解题报告(超详细)
**搬寝室 Time Limit: 2000/1000 MS Memory Limit: 65536/32768 K Problem Description 搬寝室是很累的,xhd深有体会.时间追述2 ...
- hdoj_1421搬寝室
搬寝室 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submis ...
- TKO 6-7DP入门之搬寝室
搬寝室 涉及数学公式的证明以及一些贪心思想: Problem Description 搬寝室是很累的,xhd深有体会.时间追述2006年7月9号,那天xhd迫于无奈要从27号楼搬到3号楼,因为10号要 ...
- hdu 1421 搬寝室 (dp)
思路分析: dp[i][j] 表示选取到第 i 个 组成了 j 对的最优答案. 当然排序之后 选取相邻两个是更优的. if(i==j*2) dp[i][j] = dp[i-2][j-1] + w[ ...
- hdu 1421 搬寝室
状态转移方程还是很难找啊...... 感觉自己分析很不到位,依旧参考了别人的分析...... #include <iostream> #include <cstdio> #in ...
最新文章
- mupdf java_mupdf库学习
- php swoole 心跳,聊聊swoole的心跳
- 乘法口诀练习(python-for循环)
- html5-5 HTML5表单元素和内嵌框架
- 伺服电机PID控制及增益调节
- 计算模型的GFLOPs和参数量 举例VGG16和DETR
- BMZ-MISC-可乐加冰
- 剁馅机器人图片_河南大妈开店十年卖饺子, 剁馅用上机器人, 莲菜大肉馅还真好吃...
- 一个人、一瓶酒、半斤肉饼、两杯饮料
- 金蝶云苍穹轻量级开发人员申请试用
- 微信支付之JSAPI支付
- 数据库6:连接查询和嵌套查询
- 面试中有关接口测试和接口自动化的那些事 ~
- windows环境下设置多个PHP版本的环境变量
- P3200 [HNOI2009]有趣的数列 (巧妙转换,卡特兰数,分解质因数取模运算)
- Internal Order内部订单
- 哈工大机器学习复习笔记(四)
- HFirst解读和复现心得
- 工具 | Codeblock下载与安装及使用
- windows下批量生成文件夹