题目:http://acm.hdu.edu.cn/showproblem.php?pid=1069

这题挺简单的,给定一个箱子的长宽高,要求啰箱子,但必须保证下面箱子的长和宽必须大于上面的箱子。

一个箱子,有六种情况,排序后,按照最长上升子序列来求解就行了。

代码如下:

  1. #include <iostream>
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include <math.h>
  5. #include <algorithm>
  6. #define inf 0x3f3f3f3f
  7. typedef long long ll;
  8. using namespace std;
  9. int n,tt,dp[];
  10. struct node
  11. {
  12. int x,y,z;
  13. } q[];
  14. int cmp(const void *aa,const void *bb)
  15. {
  16. struct node *a=(struct node *)aa;
  17. struct node *b=(struct node *)bb;
  18. if(a->x!=b->x)
  19. return b->x-a->x;
  20. else if(a->y!=b->y)
  21. return b->y-a->y;
  22. else return b->z-a->z;
  23. }
  24. int main()
  25. {
  26. int K=;
  27. int xx,yy,zz;
  28. int maxx;
  29. while(scanf("%d",&n)!=EOF&&n!=)
  30. {
  31. ++K;
  32. tt=;
  33. maxx=-inf;
  34. for(int i=; i<n; i++)
  35. {
  36. scanf("%d%d%d",&xx,&yy,&zz);
  37. q[tt].x=xx;
  38. q[tt].y=yy;
  39. q[tt++].z=zz;
  40.  
  41. q[tt].x=xx;
  42. q[tt].y=zz;
  43. q[tt++].z=yy;
  44.  
  45. q[tt].x=yy;
  46. q[tt].y=xx;
  47. q[tt++].z=zz;
  48.  
  49. q[tt].x=yy;
  50. q[tt].y=zz;
  51. q[tt++].z=xx;
  52.  
  53. q[tt].x=zz;
  54. q[tt].y=xx;
  55. q[tt++].z=yy;
  56.  
  57. q[tt].x=zz;
  58. q[tt].y=yy;
  59. q[tt++].z=xx;
  60. }
  61. qsort(q+,tt+,sizeof(q[]),cmp);
  62. memset(dp,,sizeof(dp));
  63. dp[]=q[].z;
  64. maxx=max(maxx,q[].z);
  65. for(int i=;i<tt;i++)
  66. {
  67. for(int j=;j<i;j++)
  68. {
  69. if(q[i].x<q[j].x&&q[i].y<q[j].y)
  70. {
  71. dp[i]=max(dp[i],dp[j]);
  72. }
  73. }
  74. dp[i]=dp[i]+q[i].z;
  75. maxx=max(maxx,dp[i]);
  76. }
  77. printf("Case %d: maximum height = %d\n",K,maxx);
  78. }
  79. return ;
  80. }

HDU1069:Monkey and Banana(最长上升子序列的应用)的更多相关文章

  1. 杭电oj 1069 Monkey and Banana 最长递增子序列

    Monkey and Banana Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)To ...

  2. HDU 1069 Monkey and Banana(最长递减子序列)

    题目链接 题意:摞长方体,给定长方体的长宽高,个数无限制,可随意翻转,要求下面的长方体的长和宽都大于上面的,都不能相等,问最多能摞多高. 题解:个数无限,其实每种形态最多就用一次,把每种形态都单独算一 ...

  3. HDU1069 Monkey and Banana

    HDU1069 Monkey and Banana 题目大意 给定 n 种盒子, 每种盒子无限多个, 需要叠起来, 在上面的盒子的长和宽必须严格小于下面盒子的长和宽, 求最高的高度. 思路 对于每个方 ...

  4. kuangbin专题十二 HDU1069 Monkey and Banana (dp)

    Monkey and Banana Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  5. HDU1069 Monkey and Banana —— DP

    题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1069 Monkey and Banana Time Limit: 2000/1000 MS ...

  6. HDU1069:Monkey and Banana(DP+贪心)

    Problem Description A group of researchers are designing an experiment to test the IQ of a monkey. T ...

  7. HDU-1069 Monkey and Banana DAG上的动态规划

    题目链接:https://cn.vjudge.net/problem/HDU-1069 题意 给出n种箱子的长宽高 现要搭出最高的箱子塔,使每个箱子的长宽严格小于底下的箱子的长宽,每种箱子数量不限 问 ...

  8. HDU1069 - Monkey and Banana【dp】

    题目大意 给定箱子种类数量n,及对应长宽高,每个箱子数量无限,求其能叠起来的最大高度是多少(上面箱子的长宽严格小于下面箱子) 思路 首先由于每种箱子有无穷个,而不仅可以横着放,还可以竖着放,歪着放.. ...

  9. HDU1069 Monkey and Banana(dp)

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=1069 题意:给定n种类型的长方体,每个类型长方体无数个,要求长方体叠放在一起,且上面的长方体接触面积要小于 ...

  10. hdu1069 Monkey and Banana LIS

    #include<cstdio> #include<iostream> #include<algorithm> #include<queue> #inc ...

随机推荐

  1. httpd-2.2.22安装

    cgi部分共分三部分:html,cgi和服务器(httpd). 首先介绍httpd安装: 1.  软件包:httpd-2.2.22.tar.gz 系统:3.8.0-44-generic #66~pre ...

  2. 微信小程序1 - 扩展app.js

    常规的开发过程中, 每个Page的逻辑中,要使用 util.js   WapRequest.js, 需要在每个页面中书写 require('/utils/WapRequest'); 略繁琐 在app. ...

  3. Link-based Classification相关数据集

    Link-based Classification相关数据集 Datasets Document Classification Datasets: CiteSeer: The CiteSeer dat ...

  4. 01 Servlet & Jsp 技术概述

    Servlet 介绍 servlet 是运行在web服务器或应用服务器上的java程序, 它是一个中间层, 负责连接来自web浏览器或其他http客户端的请求和HTTP服务器上的数据库或应用程序. 为 ...

  5. java 教程

    1.视频教程 http://blog.csdn.net/zhangdaiscott/article/details/18220411 2.书籍教程: 3.学习课程

  6. python笔记9 : 多线程

    基础: 什么是进程(process)? 每一个程序的内存是独立的,例如:world不能访问QQ. 进程:QQ是以一个整体的形式暴露给操作系统管理,里面包含了各种资源的调用(内存管理.网络接口调用等). ...

  7. django组件整合

    session Django中默认支持Session,其内部提供了5种类型的Session供开发者使用: 数据库(默认) 缓存 文件 缓存+数据库 加密cookie Django默认支持Session ...

  8. 将BT转为磁力链接

    实战代码 安装完成后,我们来看下代码: 系统环境:Linux Python环境:Python2.7 请注意python版本 bt2url.py 1 2 3 4 5 6 7 8 9 10 11 12 1 ...

  9. Webservice工作原理及实例

    Web Service工作原理及实例   一.Web Service基本概念   Web Service也叫XML Web Service WebService是一种可以接收从Internet或者In ...

  10. 160708、JQuery解析XML数据的demo

    用JavaScript解析XML数据是常见的编程任务,JavaScript能做的,JQuery当然也能做.下面我们来总结几个使用JQuery解析XML的例子. 方案1 当后台返回的数据类型是xml对象 ...