题意:给定n个长方体,然后堆积最高的塔,要求上面的面积小于下面的面积。

思路:Dp,先把长方体的所有放的情况都构造出来放到数组里,对于当前节点,如果能够在前面找到面积比当前小,高度累加比当前高的则转移状态。

code:

#include <bits/stdc++.h>
using namespace std;#define ft(i,s,t) for(int i=s;i<=t;i++)const int N=95;
struct node
{int x,y,h;
}g[N];
int dp[N],v[3];bool cmp(node a,node b){if (a.x==b.x) return a.y<b.y;return a.x<b.x;
}
int main()
{int n,ca=1;while(~scanf("%d",&n),n){int l=0;ft(j,0,n-1){ft(i,0,2) scanf("%d",&v[i]);sort(v,v+3);ft(i,0,2){g[l+i].h=v[(0+i)%3];g[l+i].x=v[(2+i)%3];g[l+i].y=v[(1+i)%3];}swap(g[l+1].x,g[l+1].y);l+=3;}sort (g,g+l,cmp);int ans=0;ft(i,0,l-1){dp[i]=g[i].h;for (int j=0;j<i;j++){if (g[j].x<g[i].x&&g[j].y<g[i].y&&dp[i]<dp[j]+g[i].h)dp[i]=dp[j]+g[i].h;}ans=max(ans,dp[i]);}printf("Case %d: maximum height = %d\n",ca++,ans);}
}

uva 437——The Tower of Babylon相关推荐

  1. Uva 437 - The Tower of Babylon(DP)

    题目链接 https://vjudge.net/problem/UVA-437 [题意]        给定n种不同的立方体,每种立方体都有无穷多个,现在要用它们跌放在一起组成一个巴比伦塔,并且处在某 ...

  2. 【UVA 437】The Tower of Babylon(记忆化搜索写法)

    [题目链接]:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_probl ...

  3. 【UVA 437】The Tower of Babylon(拓扑排序+DP,做法)

    [Solution] 接上一篇,在处理有向无环图的最长链问题的时候,可以在做拓扑排序的同时,一边做DP; 设f[i]表示第i个方块作为最上面的最高值; f[y]=max(f[y],f[x]+h[y]) ...

  4. UVA437 巴比伦塔 The Tower of Babylon(矩形嵌套进阶版、DAG上DP、记忆化搜索)

    整理的算法模板合集: ACM模板 本题和基础的矩形覆盖差不多,只不过变成了三维的长方形. 因为每次转移的时候只有顶面的x和y会影响决策的进行,所以我们只需要用一个二元组(a,b)(a, b)(a,b) ...

  5. uva437The Tower of Babylon

    题意:给定n个长方体,叠加长方体,规则是上面的长方体长和宽都要小于下面的长方体.每种长方体有无数个,问叠加最高为多少. 分析:dp,递归搜索最大高度.' #include<iostream> ...

  6. 【DP】【Uva437】UVA437 The Tower of Babylon

    传送门 Description Input Output Sample Input 1 10 20 30 2 6 8 10 5 5 5 7 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 ...

  7. UVa在线比赛单题汇总-----DP专题

    动态规划基础 例题 LA 3882 UVa 3882 - And Then There Was One 递推------------无力orz UVa 10635 10635 - Prince and ...

  8. DP(动态规划)总结

    1. 写在前面的话 之前写了一篇不像总结的动态规划总结,感觉更像是一个成长历程,所以就打算重写一篇. 2. 对DP简单的总结 dp的题目特点 求最大或者最小值(如背包:价值最大.凑硬币:数量最少--) ...

  9. 紫书《算法竞赛入门经典》

    紫书<算法竞赛入门经典>题目一览 第3章 数组和字符串(例题) UVA 272 TEX Quotes UVA 10082 WERTYU UVA 401 Palindromes UVA 34 ...

最新文章

  1. MIT开放式课程“自然语言处理”介绍
  2. unicode表_Python数据库操作 Mysql数据库表引擎与字符集#学习猿地
  3. 变分自编码器VAE:这样做为什么能成?
  4. 用Excel VBA连接SQL Server数据库并将表中的数据显示到Excel中
  5. Web服务器性能估算
  6. 357. Count Numbers with Unique Digits
  7. 利用 Charles Proxy 下载旧版本 iOS App
  8. 【数据库系统】数据库语言
  9. APP 测试用例(大部分 APP 通用)
  10. C++实现一个基于mfc的学生信息管理系统
  11. Putty配色方案修改
  12. 教你轻松查看QQ空间加密后的好友图片
  13. 图灵专访:郭霖的成长之路
  14. 武汉大学计算机学院周维,周维勋
  15. 使用XML表达表格数据
  16. 2019年二级造价工程师讲义视频课件免费下载地址
  17. 算法与数据结构 --- 哈夫曼树及其应用
  18. java代码输出万年历
  19. (附源码)spring boot大学生综合素质测评系统 毕业设计162308
  20. 如何给图片标注重点(加红框、箭头等)\一些好用的快捷键

热门文章

  1. 代码风格之Prettier简介
  2. 鼠标滚轮事件及解决滚轮事件多次触发问题
  3. pytest.7.常见套路
  4. BZOJ3771 Triple(FFT+容斥原理)
  5. VisualVM介绍使用
  6. 拓扑排序最长链-P3119 [USACO15JAN]草鉴定Grass Cownoisseur
  7. eclipse 开发 scala
  8. 23种设计模式的优点与缺点概况
  9. JS-取出字符串中重复次数最多的字符并输出
  10. arcgis栅格邻域统计_ArcGIS 从基础到实战书正式出版,易智瑞技术总裁沙志友沙总推荐并亲自写序...