HDU 1069 Monkey and Banana

纵有疾风起

题目大意

一堆科学家研究猩猩的智商,给他M种长方体,每种N个。然后,将一个香蕉挂在屋顶,让猩猩通过 叠长方体来够到香蕉。

现在给你M种长方体,计算,最高能堆多高。要求位于上面的长方体的长要大于(注意不是大于等于)下面长方体的长,上面长方体的宽大于下面长方体的宽。

输入输出

开始一个数n,表示有多少种木块,木块的数量无限,然后接下来的n行,每行3个数,是木块的长宽高三个参量

输出使用这些在满足条件的情况下能够摆放的最大高度

解题思路

首先,我们严格令长>宽,可以想到一种木块有3种摆放方式,长、宽、高分别在下面。

对于摆放种类,我们可以使用dp动态规划来进行,看了其他博主写的博客,这个题和求最长递增子序列差不多(反过来想的,就是把塔给倒过来进行构造)。

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=200;
struct node{
int l, w, h;
bool friend operator < (node a, node b)
{
if(a.h==b.h)
return a.w > b.w;
else
return a.l > b.l;
}
}a[maxn];
int dp[maxn];
int main()
{
int t=1, n;
while(scanf("%d", &n) && n!=0)
{
int len = 0, x, y, z;
for(int i=0; i<n; i++)
{
scanf("%d%d%d", &x, &y, &z);
a[len].h=x; a[len].l= y>z? y:z; a[len++].w= y>z? z:y;
a[len].h=y; a[len].l= x>z? x:z; a[len++].w= x>z? z:x;
a[len].h=z; a[len].l= x>y? x:y; a[len++].w= x>y? y:x;
}
sort(a, a+len);//排序是关键,最长递增子序列不用排序
for(int i=0; i<len; i++)
dp[i]=a[i].h; //初始值是每一个长方体的高
int max_h, ans=0;
for(int i=1; i<len; i++)
{
max_h=0;
for(int j=0; j<i; j++)
{
if(a[j].l > a[i].l && a[j].w > a[i].w)
{
max_h = max_h > dp[j] ? max_h : dp[j];
}
}
dp[i]=a[i].h+max_h;
ans=max(ans, dp[i]);
}
printf("Case %d: maximum height = %d\n", t++, ans);
} return 0;
}

HDU 1069 Monkey and Banana dp 题解的更多相关文章

  1. HDU 1069 Monkey and Banana (DP)

    Monkey and Banana Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u S ...

  2. HDU 1069 Monkey and Banana(DP 长方体堆放问题)

    Monkey and Banana Problem Description A group of researchers are designing an experiment to test the ...

  3. HDU 1069 Monkey and Banana DP LIS变形题

    http://acm.hdu.edu.cn/showproblem.php?pid=1069 意思就是给定n种箱子,每种箱子都有无限个,每种箱子都是有三个参数(x, y, z)来确定. 你可以选任意两 ...

  4. HDU 1069 Monkey and Banana DP LIS

    http://acm.hdu.edu.cn/showproblem.php?pid=1069 题目大意 一群研究员在研究猴子的智商(T T禽兽啊,欺负猴子!!!),他们决定在房顶放一串香蕉,并且给猴子 ...

  5. HDU 1069 monkey an banana DP LIS

    Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64uDescription 一组研究人员正在 ...

  6. HDU 1069 Monkey and Banana / ZOJ 1093 Monkey and Banana (最长路径)

    HDU 1069 Monkey and Banana / ZOJ 1093 Monkey and Banana (最长路径) Description A group of researchers ar ...

  7. HDU 1069 Monkey and Banana(转换成LIS,做法很值得学习)

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

  8. HDU 1069—— Monkey and Banana——————【dp】

    Monkey and Banana Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u S ...

  9. HDU 1069 Monkey and Banana 基础DP

    题目链接:Monkey and Banana 大意:给出n种箱子的长宽高.每种不限个数.可以堆叠.询问可以达到的最高高度是多少. 要求两个箱子堆叠的时候叠加的面.上面的面的两维长度都严格小于下面的. ...

随机推荐

  1. bean获取Spring容器

    Person.java public class Person implements ApplicationContextAware{ private String name; private int ...

  2. CH0805 防线 (二分值域,前缀和,特殊性质)

    $ CH~0805~ $ 防线 (二分值域,前缀和,特殊性质) $ solution: $ 注意博主所给题面的输出和原题有些不同 这道题当时想了很久很久,就是想不到怎么写.果然还是太 $ vegeta ...

  3. Hive 笔试题

    Hive 笔试题 考试时间: 姓名:____________ 考试成绩:____________ 考试时长:180 分钟 注意事项: 1. 自主答题,不能参考任何除本试卷外的其它资料. 2. 总成绩共 ...

  4. hihocoder 1582 : Territorial Dispute (计算几何)(2017 北京网络赛E)

    题目链接 题意:给出n个点.用两种颜色来给每个点染色.问能否存在一种染色方式,使不同颜色的点不能被划分到一条直线的两侧. 题解:求个凸包(其实只考虑四个点就行.但因为有板子,所以感觉这样写更休闲一些. ...

  5. CSS-动画,让图片上的图形有涨起来的效果(逐渐变高)和(逐渐变长)

    效果图: html: <div class="inner3"> <div class="over"> <img src=" ...

  6. mysql INSERT语句 语法

    mysql INSERT语句 语法 作用:用于向表格中插入新的行. 语法:INSERT INTO 表名称 VALUES (值1, 值2,....)或者INSERT INTO table_name (列 ...

  7. ckeditor直接粘贴图片实现

    自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了.一般情况下我们将Word内容粘贴到Web编辑器(富文本编辑器) ...

  8. 51Nod 1277 字符串中的最大值 ( KMP && DP )

    题意 : 一个字符串的前缀是指包含该字符第一个字母的连续子串,例如:abcd的所有前缀为a, ab, abc, abcd.给出一个字符串S,求其所有前缀中,字符长度与出现次数的乘积的最大值.例如:S ...

  9. 【LOJ6225&网络流24题】火星探险问题(费用流)

    题意: 思路: [问题分析] 最大费用最大流问题. [建模方法] 把网格中每个位置拆分成网络中两个节点<i.a>,<i.b>,建立附加源S汇T. 1.对于每个顶点i,j为i东边 ...

  10. Jquery $().each()与$.each(data,function(i,obj))区别

    在遍历DOM时,通常用$(selector).each(function(index,element))函数: 在遍历数据时,通常用$.each(dataresource,function(index ...