题意: 一个三层书架,现要把一些高度和厚度不等的书放进书架,每层至少放一本,问书架面积最少是多少,且要保证书架是矩形的。
分析: 先对书按从高到低排序,不妨把最高的一本书放在第一层,这样第一层的高度就不用考虑了

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相关推荐

  1. 【矩阵乘法】递推(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​- ...

  2. 新概念英语(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 ...

  3. [SP1839]The Bookcase

    The Bookcase 题解 蛮简单的一道题 看到这道题应该很容易想到数位dp.但如果直接把高度,厚度全加到维度上去明显会MLE. 我们定义为前本书放到书架上第1行厚度为,第二行厚度为时的每行最大高 ...

  4. 索尼的hlg是什么_hlg(索尼hlg和slog的区别)

    HLG可通过两种不同的方式来分别对HDR信号当中所包含的高光和低光部分进行解码,其中低光部分使用了标准伽玛曲线,而高光部分则使用了对数曲线.虽然HLG图像看. hlg. [词典解释]:缩写词 abbr ...

  5. 详解HDR的三个标准——HLG/HDR10/Dolby Vision

    HDR的三大标准:HLG(Hybrid Log Gamma):HDR10:Dolby Vision HLG:HLG的全称是Hybrid Log Gamma,它是由英国BBC和日本NHK电视台联合开发的 ...

  6. HDR相关标准-HLG/HDR10/HDR10+/DOLBY VISION

    目录 主要参考信息 动态元数据及使用 相关标准文件 主要参考信息 杜比视界HDR参数_qq26983255的博客-CSDN博客_pq和hlghttps://blog.csdn.net/qq269832 ...

  7. OpenGLSL中处理HDR.ToneMapping(HLG)

    紧跟前提文章,没有HDR.ToneMapping知识基础的同学请先阅读之前的文章: HDR in Android 专栏 这篇文章主要是介绍在GLSL中处理HLG(hybrid-log-gamma 混合 ...

  8. 索尼的hlg是什么_索尼HLG的拍摄使用方法

    近几年HLG的出现,让我们普通的摄影爱好者,可以直接的拍摄高动态范围的影像.尤其是小型的团队和独立的视频制作人,HLG能让我们在拍摄完素材够后,稍微调整就可以得到很不错的画面效果.能让我们省去很多后期 ...

  9. 索尼的hlg是什么_索尼的HLG使用方法

    近几年HLG的出现,让我们普通的摄影爱好者,可以直接的拍摄高动态范围的影像.尤其是小型的团队和独立的视频制作人,HLG能让我们在拍摄完素材够后,稍微调整就可以得到很不错的画面效果.能让我们省去很多后期 ...

最新文章

  1. mysql整理碎片和显示语句错误
  2. 互联网人的求生战役!分享身边的 5 个故事
  3. nginx rtmp module 代码详解 各模块主要功能
  4. BZOJ1558 等差数列
  5. Matlab找矩阵中最大最小值的位置
  6. 红黑树概念及其相关操作的实现
  7. cout输出字符串_leetcode C++题解系列-042 字符串相乘
  8. 中国内镜下血管采集市场趋势报告、技术动态创新及市场预测
  9. MySQL-第N篇一些经验
  10. MS Office办公,数学公式编辑器,visio2019 详细安装教程
  11. 清风数学建模学习笔记——层次分析法(AHP)
  12. Oracle官网登录用户名密码
  13. html style
  14. c语言 函数拟合,曲线拟合成Y=a*(X^b)+c*(X^d)函数 - 数学 - 小木虫 - 学术 科研 互动社区...
  15. 笔记本没有Insert键怎么办
  16. 微信中“下单账号和支付账号不一致,请核实后再支付”原因及解决办法 hideMenuItems 复制链接
  17. iOS为什么获取不到设备的DeviceToken
  18. 【计算机图形学基础】学习笔记 02 图形系统
  19. ArrayList这篇就够了
  20. 神经网络优化算法nag_数值算法组(NAG)向Java开发库添加了新功能

热门文章

  1. leetcode刷题:求容器中能乘最大多少水
  2. printf 重新实现put_Go 实现海量日志收集系统(四)
  3. java jdk1.8 jvm_JVM——Java内存模型 (JDK1.8)
  4. xml文件修改逆向android,Android逆向重置版(2)—起源
  5. C语言#define预处理
  6. 中国量子计算机 是纠缠,量子纠缠获得突破,中国量子计算机问世,民营企业立下显著功勋...
  7. 深入浅出mysql gtid_Mysql 5.7 Gtid内部学习(九) 实际案例(一)
  8. A Comprehensive Introduction to Torchtext
  9. PsotgreSQL
  10. Linux bond6配置文件,Linux网卡bond