uva 437——The Tower of Babylon
题意:给定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相关推荐
- Uva 437 - The Tower of Babylon(DP)
题目链接 https://vjudge.net/problem/UVA-437 [题意] 给定n种不同的立方体,每种立方体都有无穷多个,现在要用它们跌放在一起组成一个巴比伦塔,并且处在某 ...
- 【UVA 437】The Tower of Babylon(记忆化搜索写法)
[题目链接]:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_probl ...
- 【UVA 437】The Tower of Babylon(拓扑排序+DP,做法)
[Solution] 接上一篇,在处理有向无环图的最长链问题的时候,可以在做拓扑排序的同时,一边做DP; 设f[i]表示第i个方块作为最上面的最高值; f[y]=max(f[y],f[x]+h[y]) ...
- UVA437 巴比伦塔 The Tower of Babylon(矩形嵌套进阶版、DAG上DP、记忆化搜索)
整理的算法模板合集: ACM模板 本题和基础的矩形覆盖差不多,只不过变成了三维的长方形. 因为每次转移的时候只有顶面的x和y会影响决策的进行,所以我们只需要用一个二元组(a,b)(a, b)(a,b) ...
- uva437The Tower of Babylon
题意:给定n个长方体,叠加长方体,规则是上面的长方体长和宽都要小于下面的长方体.每种长方体有无数个,问叠加最高为多少. 分析:dp,递归搜索最大高度.' #include<iostream> ...
- 【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 ...
- UVa在线比赛单题汇总-----DP专题
动态规划基础 例题 LA 3882 UVa 3882 - And Then There Was One 递推------------无力orz UVa 10635 10635 - Prince and ...
- DP(动态规划)总结
1. 写在前面的话 之前写了一篇不像总结的动态规划总结,感觉更像是一个成长历程,所以就打算重写一篇. 2. 对DP简单的总结 dp的题目特点 求最大或者最小值(如背包:价值最大.凑硬币:数量最少--) ...
- 紫书《算法竞赛入门经典》
紫书<算法竞赛入门经典>题目一览 第3章 数组和字符串(例题) UVA 272 TEX Quotes UVA 10082 WERTYU UVA 401 Palindromes UVA 34 ...
最新文章
- MIT开放式课程“自然语言处理”介绍
- unicode表_Python数据库操作 Mysql数据库表引擎与字符集#学习猿地
- 变分自编码器VAE:这样做为什么能成?
- 用Excel VBA连接SQL Server数据库并将表中的数据显示到Excel中
- Web服务器性能估算
- 357. Count Numbers with Unique Digits
- 利用 Charles Proxy 下载旧版本 iOS App
- 【数据库系统】数据库语言
- APP 测试用例(大部分 APP 通用)
- C++实现一个基于mfc的学生信息管理系统
- Putty配色方案修改
- 教你轻松查看QQ空间加密后的好友图片
- 图灵专访:郭霖的成长之路
- 武汉大学计算机学院周维,周维勋
- 使用XML表达表格数据
- 2019年二级造价工程师讲义视频课件免费下载地址
- 算法与数据结构 --- 哈夫曼树及其应用
- java代码输出万年历
- (附源码)spring boot大学生综合素质测评系统 毕业设计162308
- 如何给图片标注重点(加红框、箭头等)\一些好用的快捷键
热门文章
- 代码风格之Prettier简介
- 鼠标滚轮事件及解决滚轮事件多次触发问题
- pytest.7.常见套路
- BZOJ3771 Triple(FFT+容斥原理)
- VisualVM介绍使用
- 拓扑排序最长链-P3119 [USACO15JAN]草鉴定Grass Cownoisseur
- eclipse 开发 scala
- 23种设计模式的优点与缺点概况
- JS-取出字符串中重复次数最多的字符并输出
- arcgis栅格邻域统计_ArcGIS 从基础到实战书正式出版,易智瑞技术总裁沙志友沙总推荐并亲自写序...