Problem - 1069

  随便找到的一道题目。

  题意是给出一些的长方体,长方体可以用任意次数,可以任意翻转。如果一个长方体可以叠在另一个长方体上,条件是这个长方体的长和宽严格小于另一个长方体的长和宽。问给出的n种长方体最高可以叠到多高。

  因为长方体有三种不同的面,而且长方体的长和宽要严格小于前一个,所以可以将一个长方体拆成三种不同的面作为底面的长方体,而且假设长总是大于宽的。将长方体按照长和宽排序,然后假设len[i]是放置第i个长方体的时候能得到的最大高度,之后的做法基本上跟LIS的操作一样了。

 代码如下:

 1 #include <cstdio>
 2 #include <iostream>
 3 #include <algorithm>
 4
 5 using namespace std;
 6
 7 struct Node {
 8     int l[3];
 9 } rec[111];
10
11 bool cmp(Node a, Node b) {
12     if (a.l[1] != b.l[1]) return a.l[1] < b.l[1];
13     return a.l[2] < b.l[2];
14 }
15
16 int len[111];
17
18 int main() {
19 //    freopen("in", "r", stdin);
20     int n, cas = 1;
21     while (cin >> n && n) {
22         for (int i = 0; i < n; i++) {
23             for (int j = 0; j < 3; j++) {
24                 cin >> rec[i * 3].l[j];
25             }
26             sort(rec[i * 3].l, rec[i * 3].l + 3);
27             for (int j = 1; j <= 2; j++) {
28                 rec[i * 3 + j] = rec[i * 3];
29                 swap(rec[i * 3 + j].l[0], rec[i * 3 + j].l[1]);
30             }
31             swap(rec[i * 3 + 2].l[0], rec[i * 3 + 2].l[2]);
32         }
33         n *= 3;
34         int mx = 0;
35         sort(rec, rec + n, cmp);
36         for (int i = 0; i < n; i++) {
37             len[i] = 0;
38             for (int j = 0; j < i; j++) {
39                 if (rec[j].l[1] < rec[i].l[1] && rec[j].l[2] < rec[i].l[2]) {
40                     len[i] = max(len[j], len[i]);
41                 }
42             }
43             len[i] += rec[i].l[0];
44             mx = max(mx, len[i]);
45         }
46         printf("Case %d: maximum height = %d\n", cas++, mx);
47     }
48     return 0;
49 }

View Code

——written by Lyon

转载于:https://www.cnblogs.com/LyonLys/archive/2013/05/25/hdu_1069_Lyon.html

hdu 1069 Monkey and Banana (LIS)相关推荐

  1. hdu(1069)——Monkey and Banana(LIS变形)

    题意: 如今给你n个石块,然后它由坐标来表示(x,y,z).可是它能够有不同的方法,也就是说它的三个坐标能够轮换着来的. 石块的数量不限,可是每次都必须保持上底面的长和宽严格递减,然后问你用这些石块所 ...

  2. HDU 1069 Monkey and Banana(简单图解,经典DP,最大上升子序列变形)

    题目链接 今天做的第二题,感觉比较经典,详细记录一下吧! Monkey and Banana Time Limit: 2000/1000 MS (Java/Others) Memory Limit: ...

  3. HDU 1069 Monkey and Banana 最长上升子序列进阶(动态规划)

    HDU 1069(动态规划) Monkey and Banana Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K ...

  4. 三维最长上升子序列问题——HDU 1069 Monkey and Banana

    题目: A group of researchers are designing an experiment to test the IQ of a monkey. They will hang a ...

  5. hdu 1069 Monkey and Banana 【动态规划】

    题目 题意:研究人员要测试猴子的IQ,将香蕉挂到一定高度,给猴子一些不同大小的箱子,箱子数量不限,让猩猩通过叠长方体来够到香蕉. 现在给你N种长方体, 要求:位于上面的长方体的长和宽  要小于  下面 ...

  6. HDU 1069 Monkey and Banana

    传送门 #include<iostream> #include<algorithm> #include<map> #include<set> #incl ...

  7. hdu 1069 Monkey and Banana dp

    题意:给你n种个长方体,告诉你每种长方体的长,宽,高,并且每种长方体个数不限 问:把它们堆起来的最大高度 限制条件:上面一个长方体a的底面积,必须比它下面一个长方体b的底面积大,而且,a的底面的长宽也 ...

  8. HDU各种比赛题题解(一)

    HDU各种比赛题题解(一) Gardon-DYGG Contest 1 HDU1178 Heritage from father[水题] - 海岛Blog - CSDN博客 HDU1181 变形课[D ...

  9. HDUOJ 1069 Monkey and Banana

    HDUOJ 1069 Monkey and Banana 题目链接 Problem Description A group of researchers are designing an experi ...

最新文章

  1. 摄像头定位:ICCV2019论文解析
  2. ubuntu bind9 配置简单记录
  3. Spring中jdbcTemplate的用法实例
  4. 《The C Programming Language》(2nd Ed) Introduction 翻译
  5. nokia : Booklet 3G
  6. C和指针之数组编程练习5 (矩阵相乘)
  7. Cactoos中的面向对象的声明式输入/输出
  8. 曝光!衡中教室高清摄像头记录:不想一辈子吃苦,就必须闻鸡起舞!(转给学生)...
  9. EXE.DLL文件图标导出器[免费下载]
  10. 无心剑《英语学习漫谈》
  11. Java_String
  12. Linux驱动实现灯循环闪烁,TQ2440上LED灯闪烁效果的驱动程序实现
  13. Sonar集成CAS
  14. Nginx 反向代理、负载均衡、页面缓存、URL重写、读写分离及简单双机热备详解...
  15. 总结命令----tar
  16. 【kmp专题】牛客网子串(进制转化+kmp/string.find())
  17. php while循环语句格式,PHP while 循环
  18. Idea-Plugin编写Android Studio插件
  19. ATP-EMTP中的LCC模块电缆线路阅读bergeron模型与JMarti模型数据卡
  20. 模电Aus,Uo/Us,童诗白例2.3.3。

热门文章

  1. HashMap 和 HashTable 区别
  2. Knockout v3.4.0 中文版教程-9-计算监控-API参考
  3. [Java拾遗三]JavaWeb基础之Servlet
  4. 建造者模式(Builder Pattern)(转自TerryLee)
  5. 大话PM|产品设计中常被忽视的业务异常
  6. 产品经理八大惹怒程序员而被砍杀的行为
  7. PMCAFF微课堂 | 腾讯搜索专家教你如何用数据玩转APP运营
  8. 第一批 | Share·2015产品经理O2O论坛免费票发放啦!
  9. 【独家】去哪儿网PRD兵法秘籍大公开,火爆课程精彩直击!
  10. 【专访】PP租车张丙军:“打虎亲兄弟“,好团队才能书写互联网传奇