博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 1421 DP
阅读量:5121 次
发布时间:2019-06-13

本文共 785 字,大约阅读时间需要 2 分钟。

时隔多日,又回来啃dp...

题意:有n件物品,搬k次,每搬一个消耗的疲劳值为两件物品重量之差的平方,求最小的疲劳消耗

状态转移方程:dp[i][j] = min((dp[i-2][j-1]+(s[i]-s[i-1])*(s[i]-s[i-1])),dp[i-1][j]);

dp[i][j]表示有i个物品时j次搬运最小的疲劳值

 

#include
#include
#include
using namespace std;#define INIT 2147483646int dp[2222][1111];int main(){ int i,j,k,n; int s[2222] = {0}; while(cin>>n>>k){ for(i=1;i<=n;i++) scanf("%d",s+i); sort(s+1,s+n+1); dp[0][0] = 0; for(i=0;i<=n;i++) for(j=1;j<=k;j++) dp[i][j] = INIT; for(i=2;i<=n;i++) for(j=1;j*2<=i;j++) dp[i][j] = min((dp[i-2][j-1]+(s[i]-s[i-1])*(s[i]-s[i-1])),dp[i-1][j]); cout<
<

 

转载于:https://www.cnblogs.com/pngcui/p/4335892.html

你可能感兴趣的文章
[k8s集群系列-07]Kubernetes 网络组件Flannel
查看>>
ES6新增的一些特性
查看>>
hdu 5288 数学 ****
查看>>
WinForm自制水晶按钮
查看>>
vmare-Tools重启后也不生效的问题
查看>>
做ppt经常使用站点
查看>>
ITM事件直接接收并解析
查看>>
微信小程序的基本认识
查看>>
排行榜的实现
查看>>
布置项目到服务器的步骤
查看>>
SVG.坐标转换_属性设置
查看>>
XML+JSON面试题都在这里
查看>>
React爬坑秘籍(一)——提升渲染性能
查看>>
Python 模块和包
查看>>
oracle 查询
查看>>
Asp.Net MVC4入门指南(1): 入门介绍
查看>>
安卓版微信开启测试 接入微信运动功能
查看>>
面试题7用两个栈实现队列
查看>>
动静强弱,脚本
查看>>
yum no key
查看>>