这道题不能单纯的比面积,是长宽都要小于下面的木块才可以放,下按照x排序,之后在比较x,y,然后就是求最大递减序列,在输入的时候先将d数组排序,因为一个木块有六种放的方法,如果不排序,把六种情况都列出来也可以。排序之后呢,相当于规定在同等高度的木块都朝着x轴短的这面放,所以就一共只有三种可能了

在更新的时候一定记住每一轮要更新dp[i],而不是更新dp[j]

例如 :for(int i=0;i<cou;i++){

for(int j=i+1;j<cou;j++){

if(box[i].x>box[j].x && box[i].y>box[j].y && dp[j]<(dp[i]+box[j].z)){
dp[j]=dp[i]+box[j].z;
}

这是错误的写法

#include<iostream>
#include<stdio.h>
#include<algorithm>
using namespace std;
struct node{int x,y,z;
}box[200];
int dp[200];
bool cmp(node a,node b){if(a.x>b.x)return true;if(a.x==b.x&&a.y>b.y)return true;return false;
}
int main(){
//  freopen("in.txt","r",stdin);int n,d[3],t=1;while(~scanf("%d",&n),n!=0){int cou=0;for(int i=0;i<n;i++){scanf("%d%d%d",&d[0],&d[1],&d[2]);sort(d,d+3);box[cou].x=d[1];box[cou].y=d[2];box[cou++].z=d[0];box[cou].x=d[0];box[cou].y=d[2];box[cou++].z=d[1];box[cou].x=d[0];box[cou].y=d[1];box[cou++].z=d[2];}sort(box,box+cou,cmp);for(int i=0;i<cou;i++){dp[i]=box[i].z;}for(int i=1;i<cou;i++)
<span style="white-space:pre">         </span>for(int j=0;j<i;j++){
<span style="white-space:pre">             </span>if(box[i].x<box[j].x && box[i].y<box[j].y && dp[i]<(dp[j]+box[i].z)){
<span style="white-space:pre">                 </span>dp[i]=dp[j]+box[i].z;int min=0;for(int i=0;i<cou;i++){if(dp[i]>min)min=dp[i];}printf("Case %d: maximum height = %d\n",t++,min);}
}

HDU 1069 Monkey and Banana 动态规划相关推荐

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

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

  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 【动态规划】

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

  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 (LIS)

    Problem - 1069 随便找到的一道题目. 题意是给出一些的长方体,长方体可以用任意次数,可以任意翻转.如果一个长方体可以叠在另一个长方体上,条件是这个长方体的长和宽严格小于另一个长方体的长和 ...

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

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

  7. HDU 1069 Monkey and Banana

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

  8. hdu 1069 Monkey and Banana dp

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

  9. HDUOJ 1069 Monkey and Banana

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

  10. HDOJ 1069 Monkey and Banana

    1:每一组X,Y,Z对应3个立方体 2:按面积从小到大DP Monkey and Banana Time Limit: 2000/1000 MS (Java/Others)    Memory Lim ...

最新文章

  1. 用研究新范式破解生命科学难题
  2. 下列不是python对文件的读操作方法是-小猿圈python之python期末考试测试题(一)...
  3. 【计算机网络】传输层 : TCP 连接管理 ( TCP 连接建立 | 三次握手 | TCP 连接释放 | 四次挥手 )
  4. apache2和jk和tomcat安装笔记-ubuntu
  5. Linux安装jellyfin硬件加速,proxmoxVE LXC 安装设置 Jellyfin 多媒体家庭影院
  6. 世界手机号码格式_世界上手机号码最长的国家是中国,最短的是哪个国家?
  7. Python实现矩阵所有元素之和及某一列之和和某一行之和??
  8. Spring IOC源码笔记(一)
  9. rgb活体rgb对比rgb
  10. eova(JFinal)项目一键式部署方法
  11. 流媒体协议RTP、RTCP、H264详解
  12. 深度技术官网linux,深度系统
  13. 云计算与网格计算的区别
  14. 用R语言计算班级各门课程的加权平均分
  15. python中数字加引号和不加引号的区别_高考完小白自学Python,不太懂print语句中一个加引号,一个不加?...
  16. 麻瓜编程python爬虫微专业_网易微专业Python Web开发工程师课程下载
  17. 产品项目团队都有哪些角色概览
  18. OpenStack技术峰会前瞻,含全球前五用户带来的顶级实践分享
  19. 解决幂等性问题方法大全
  20. 百度商业系统大规模微服务分布式监控实践

热门文章

  1. 2016noip蚯蚓《单调队列》
  2. Maven - 安装 配置
  3. 调用未知DLL中的导出函数[转]
  4. 【实例】原生 js 实现全屏滚动效果
  5. KEIL中遇到WARNING: MULTIPLE CALL TO SEGMENT的解决方法
  6. 【需求】如何编写高质量“软件需求说明书”(转)
  7. [转载]安全设置 IIS 中的权限
  8. Sound Studio for Mac - 音频编辑处理工具
  9. Typinator for mac(打字员)附注册码支持m1
  10. Mac 入门教程:如何更改你的 Mac 设备名称