HLG 1532 The Bookcase
题意: 一个三层书架,现要把一些高度和厚度不等的书放进书架,每层至少放一本,问书架面积最少是多少,且要保证书架是矩形的。
分析: 先对书按从高到低排序,不妨把最高的一本书放在第一层,这样第一层的高度就不用考虑了
dp[i][j] 表示第二层厚度为 i ,第三层厚度为 j 时第二和第三层书架高度和的最小值
#include<stdio.h> #include<string.h> #include<stdlib.h> #include<algorithm> #define INF 601 using namespace std; struct node {int h,w; }b[100]; bool cmp(node a,node b) {return a.h>b.h; } int dp[2200][2200]; int main() {int th,t,n,i,j,k,res,wi,tot;scanf("%d",&t);while(t--){scanf("%d",&n);th=0;for(i=0;i<n;i++)scanf("%d%d",&b[i].h,&b[i].w);sort(b,b+n,cmp);tot=n*30;for(i=0;i<=tot;i++)for(j=0;j<=tot;j++)dp[i][j]=INF;dp[0][0]=0;for(k=1;k<n;k++){th+=b[k-1].w;for(i=th;i>=0;i--)for(j=th;j>=0;j--){if(dp[i][j]!=INF){if(i!=0){if(dp[i+b[k].w][j]>dp[i][j])dp[i+b[k].w][j]=dp[i][j];}else if(dp[i+b[k].w][j]>dp[i][j]+b[k].h)dp[i+b[k].w][j]=dp[i][j]+b[k].h;if(j!=0){if(dp[i][j+b[k].w]>dp[i][j]) dp[i][j+b[k].w]=dp[i][j];}else if(dp[i][j+b[k].w]>dp[i][j]+b[k].h)dp[i][j+b[k].w]=dp[i][j]+b[k].h;}}}th+=b[n-1].w;res=999999;int tmp;for(i=1;i<=th;i++)for(j=1;j<=th;j++)if(dp[i][j]!=INF){wi=i>j?i:j;wi=wi>th-i-j?wi:th-i-j;res=res<(dp[i][j]+b[0].h)*wi?res:(dp[i][j]+b[0].h)*wi;}printf("%d\n",res);}return 0; }
转载于:https://www.cnblogs.com/dream-wind/archive/2012/08/14/2637991.html
HLG 1532 The Bookcase相关推荐
- 【矩阵乘法】递推(ssl 1532)
递推 ssl 1532 题目大意 给出数列a0,a1-ana_0,a_1-a_na0,a1-an和fff的前n−1n-1n−1项f0,f1-fn−1f_0,f_1-f_{n-1}f0,f1- ...
- 新概念英语(1-37)Making a bookcase
What is Susan's favourite color ? A:You're working hard, Georage. What are you doing? B:I am making ...
- [SP1839]The Bookcase
The Bookcase 题解 蛮简单的一道题 看到这道题应该很容易想到数位dp.但如果直接把高度,厚度全加到维度上去明显会MLE. 我们定义为前本书放到书架上第1行厚度为,第二行厚度为时的每行最大高 ...
- 索尼的hlg是什么_hlg(索尼hlg和slog的区别)
HLG可通过两种不同的方式来分别对HDR信号当中所包含的高光和低光部分进行解码,其中低光部分使用了标准伽玛曲线,而高光部分则使用了对数曲线.虽然HLG图像看. hlg. [词典解释]:缩写词 abbr ...
- 详解HDR的三个标准——HLG/HDR10/Dolby Vision
HDR的三大标准:HLG(Hybrid Log Gamma):HDR10:Dolby Vision HLG:HLG的全称是Hybrid Log Gamma,它是由英国BBC和日本NHK电视台联合开发的 ...
- HDR相关标准-HLG/HDR10/HDR10+/DOLBY VISION
目录 主要参考信息 动态元数据及使用 相关标准文件 主要参考信息 杜比视界HDR参数_qq26983255的博客-CSDN博客_pq和hlghttps://blog.csdn.net/qq269832 ...
- OpenGLSL中处理HDR.ToneMapping(HLG)
紧跟前提文章,没有HDR.ToneMapping知识基础的同学请先阅读之前的文章: HDR in Android 专栏 这篇文章主要是介绍在GLSL中处理HLG(hybrid-log-gamma 混合 ...
- 索尼的hlg是什么_索尼HLG的拍摄使用方法
近几年HLG的出现,让我们普通的摄影爱好者,可以直接的拍摄高动态范围的影像.尤其是小型的团队和独立的视频制作人,HLG能让我们在拍摄完素材够后,稍微调整就可以得到很不错的画面效果.能让我们省去很多后期 ...
- 索尼的hlg是什么_索尼的HLG使用方法
近几年HLG的出现,让我们普通的摄影爱好者,可以直接的拍摄高动态范围的影像.尤其是小型的团队和独立的视频制作人,HLG能让我们在拍摄完素材够后,稍微调整就可以得到很不错的画面效果.能让我们省去很多后期 ...
最新文章
- mysql整理碎片和显示语句错误
- 互联网人的求生战役!分享身边的 5 个故事
- nginx rtmp module 代码详解 各模块主要功能
- BZOJ1558 等差数列
- Matlab找矩阵中最大最小值的位置
- 红黑树概念及其相关操作的实现
- cout输出字符串_leetcode C++题解系列-042 字符串相乘
- 中国内镜下血管采集市场趋势报告、技术动态创新及市场预测
- MySQL-第N篇一些经验
- MS Office办公,数学公式编辑器,visio2019 详细安装教程
- 清风数学建模学习笔记——层次分析法(AHP)
- Oracle官网登录用户名密码
- html style
- c语言 函数拟合,曲线拟合成Y=a*(X^b)+c*(X^d)函数 - 数学 - 小木虫 - 学术 科研 互动社区...
- 笔记本没有Insert键怎么办
- 微信中“下单账号和支付账号不一致,请核实后再支付”原因及解决办法 hideMenuItems 复制链接
- iOS为什么获取不到设备的DeviceToken
- 【计算机图形学基础】学习笔记 02 图形系统
- ArrayList这篇就够了
- 神经网络优化算法nag_数值算法组(NAG)向Java开发库添加了新功能
热门文章
- leetcode刷题:求容器中能乘最大多少水
- printf 重新实现put_Go 实现海量日志收集系统(四)
- java jdk1.8 jvm_JVM——Java内存模型 (JDK1.8)
- xml文件修改逆向android,Android逆向重置版(2)—起源
- C语言#define预处理
- 中国量子计算机 是纠缠,量子纠缠获得突破,中国量子计算机问世,民营企业立下显著功勋...
- 深入浅出mysql gtid_Mysql 5.7 Gtid内部学习(九) 实际案例(一)
- A Comprehensive Introduction to Torchtext
- PsotgreSQL
- Linux bond6配置文件,Linux网卡bond