ZOJ 1234 Chopsticks(动态规划)
Chopsticks
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=234
题目大意:给定n个筷子的长度,取k+8套筷子,每套有3个,长度分别为A,B,C。要求k+8套筷子中(A-B)^2的和最小,输出这个最小值。
分析:题目中筷子长度是非降序排列的,所以最小的两个A和B一定是相邻的。先不考虑筷子C,只要留着就行。
令dp[i][j]表示从 j 个筷子中取 i 套筷子的最优值。
dp[i][j] = min {dp[i][j-1] , dp[i-1][j-1] | (n - j > 3*(k - i))剩下的筷子可以凑满}
可以用滚动数组
代码如下:
1 # include<iostream> 2 # include<cstring> 3 # include<cstdio> 4 using namespace std; 5 long MAX = 2147483647; 6 long dp[1005][5005]; 7 long f[5005]; 8 int main(){ 9 int T,i,j,k,n; 10 long temp; 11 cin>>T; 12 while(T--) 13 { 14 scanf("%d%d",&k,&n); 15 for(i=1;i<=n;i++) 16 cin>>f[i]; 17 k += 8; 18 memset(dp,0,sizeof(dp)); 19 for(i=1;i<=k;i++) 20 { 21 for(j=i*2;j<=n;j++) 22 { 23 dp[i][j] = MAX; 24 if(j>i*2) 25 dp[i][j] = dp[i][j-1]; 26 if(n-j>(k-i)*3) 27 { 28 temp = dp[i-1][j-2] + (f[j]-f[j-1])*(f[j]-f[j-1]); 29 if(temp<dp[i][j]) 30 dp[i][j] = temp; 31 } 32 } 33 } 34 cout<<dp[k][n]<<endl; 35 } 36 return 0; 37 }
转载于:https://www.cnblogs.com/acm-bingzi/p/3258805.html
ZOJ 1234 Chopsticks(动态规划)相关推荐
- ZOJ 1234 UVA 10271 Chopsticks
这个题目,筷子应该最好是非降序排列的(只要输入的时候处理一下即可),这样处理起来就比较方便,因为这样就可以保证在后来的计算中,每取两个筷子都有比他们两根长的筷子,就可以符合题意了. 下面贴代码: Vi ...
- 神牛笔记:吉林大学ACM总结(fennec)
其实在北京比赛完的时候,我就想写了,不过还是早了点,直到上海比赛结束,大家的心中都不是太好受.郭老师有句话:你们这样做也是对的,不成功就成仁.让我的心也能安慰了不少. 我是从大一下学期开始接触ACM的 ...
- 一位学长的ACM总结(感触颇深)
发信人: fennec (fennec), 信区: Algorithm 标 题: acm 总结 by fennec 发信站: 吉林大学牡丹园站 (Wed Dec 8 16:27:55 2004) AC ...
- POJ ZOJ题目分类
POJ,ZOJ题目分类(多篇整合版,分类很细致,全面) 标签: 题目分类POJ整理 2015-04-18 14:44 1672人阅读 评论(0) 收藏 举报 本文章已收录于: 分类: ACM资料(5) ...
- POJ,ZOJ题目分类(多篇整合版,分类很细致,全面)
水题: 3299,2159,2739,1083,2262,1503,3006,2255,3094 初级: 一.基本算法: (1)枚举 (1753,2965) (2)贪心(13 ...
- ZOJ 题目分类,学校的一个巨巨做的。
DP: 1011 NTA 简单题 1013 Great Equipment 简单题 1024 Calendar ...
- poj题目详细分类及算法推荐题目
DP: 1011 NTA 简单题 1013 Great Equipment 简单题 1024 Calendar Game 简单题 ...
- ACM POJ 题目分类(完整整理版本)
DP: 1011 NTA 简单题 1013 Great Equipment 简单题 1024 Calendar Game 简单题 ...
- PUK ACM题目分类
acm之pku题目分类 对ACM有兴趣的同学们可以看看 DP: 1011 NTA 简单题 1013 Great Equipment 简单题 102 ...
最新文章
- L1-047 装睡 (结构体解决)
- 调试JDK源码-ConcurrentHashMap实现原理
- 公司网络问题----------网络设备老化的问题
- linux ssh免密登陆远程服务器
- 和华为hr电话面试的反思
- 计算机硬件性能提升定律,❤️多核编程·笔记
- js 在新窗口中打开URL
- SAP Spartacus里的WindowRef对象
- IdentityServer4(六)授权码流程原理之SPA
- 集合对偶律:分别用图文证明
- Eclipse 下载 开源项目 maven依赖丢失和 Deployment Assembly 丢失
- cocos2d-x画线
- moodle php代码解读_Moodle插件moodle 二次开发基础知识一
- C#实现将文件、文件夹压缩为压缩包
- 使用nslookup查询域名的MX记录
- 京东商城--商城研发部面试
- 使用pytorch获取bert词向量 将字符转换成词向量
- sklearn_逻辑回归制作评分卡_菜菜视频学习笔记
- 51单片机基础之继电器
- 4418. 选元素(动态规划)
热门文章
- SqlServer2005高效分页sql查询语句汇总
- 树形数据深度排序处理示例(递归法).sql
- Repeater使用 AspNetPager分页控件
- 改变客户端访问时的方法名
- mysql 关联关系
- Javascript编码规范,好的代码从书写规范开始,增强代码的可读性,可维护性,这是相当重要的!...
- Linux的DNS配置2-主从服务器
- 放在NSArray、NSDictionary等容器内的对象Item,Item中的property在程序运行过程中被无故释放...
- 最近用unity5弄的一些渲染
- 神经网络与机器学习 笔记—反向传播算法(BP)