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

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. UA PHYS515A 电磁理论III 静磁学问题3 静磁学问题的边界条件与标量势方法的应用
  2. 怎样快速识别 英文地址中包含非英文字符_[论文笔记]端到端的场景文本识别算法--CRNN 论文笔记...
  3. [Qt教程] 第44篇 进阶(四)信号和槽
  4. Insyde uefi 隐藏设置_安卓福利,手机桌面图标隐藏,找应用按字母轻松搞定!
  5. idou老师教你学Istio06: 如何用istio实现流量迁移
  6. 全校师生放6天春假;清华大学设立天文系;郭守敬望远镜光谱数突破千万;《自然》发表最新发现;百度败诉需道歉;这就是今天的大新闻...
  7. 学习KMP (概念 + 模板 + 例题: 子串查找)
  8. 计算机管理档案有什么好处,利用资料管理系统管理档案有什么好处
  9. 什么是JSONP以及它是怎么产生的
  10. mysql 时间点_mysql 时间
  11. 腾讯荣升Linux基金会白金会员助力支持开源社区
  12. Windows XP SP3细节官方详解
  13. C# 、.NET、ASP.NET MVC积累
  14. canvas 实现截图功能——截取图片的一部分
  15. redis和zk实现分布式锁的优缺点
  16. 说一说Qpython在Android手机上的应用(二)
  17. android 微信 https 证书,微信https未授权证书究竟是什么意思
  18. web buuctf [SUCTF 2019]Pythonginx1
  19. 自学前端需要达到什么水平才能找到工作?
  20. 大数据平台监控指南(附技术选型、监控指标)

热门文章

  1. python发布_python如何发布模块
  2. python读取坐标文本文件_使用python读取txt坐标文件生成挖空矿山_探矿批量
  3. fscanf返回值被忽略怎么解决_pytest的fixture怎么用?
  4. java xml 画表格_用js+xml自动生成表格的东西
  5. java主类调用数组_用java编写在主函数中调用数组
  6. go去掉最后一个字符_Go:字符串操作
  7. springboot 没有找到service_Spring Boot 应用程序五种部署方式
  8. java 程序命令_命令行运行JAVA程序
  9. C++ vector
  10. R语言聚类算法之系谱聚类(Hierarchical Method)