题目链接:UVa437巴比伦塔

题解:

这个就是矩形嵌套的改变,把2D变为3D了,然后加1变为加上他们的高度

注意点是一个矩形可以有三种不同的形态

#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;int n;
int p;  //保存各个矩形的数量,一个矩形有三种
struct jux{int x,y;int h;
}ju[910];
int gra[910][910];
int dp[910];bool isqian(jux a, jux b){if((a.x>b.x && a.y>b.y) || (a.y>b.x&&a.x>b.y)) return true;return false;
}void build(int x,int y, int z){ju[p].x = x;ju[p].y = y;ju[p].h = z;for(int i = 0; i < p; i++){if(isqian(ju[i],ju[p])) gra[i][p] = 1;if(isqian(ju[p],ju[i])) gra[p][i] = 1;}
} int d(int pos){int &ans = dp[pos];if(ans) return ans;ans = ju[pos].h;for(int i = 0; i < 905;i++){if(gra[pos][i]) ans = max(ans,d(i)+ju[pos].h);}return ans;
}int main(){int rnd = 0;while(scanf("%d",&n) == 1 && n){memset(gra,0,sizeof(gra));memset(dp,0,sizeof(dp));p = 0;int x,y,z;for(int i = 0; i < n; i++){scanf("%d%d%d",&x,&y,&z);build(x,y,z);p++;build(x,z,y);p++;build(y,z,x);p++;}int maxn = -1;for(int i = 0; i < p; i++){if(!dp[i]) d(i);if(maxn < dp[i]) maxn = dp[i];}printf("Case %d: maximum height = %d\n",++rnd,maxn);}return 0;
}

紫书 UVa437巴比伦塔相关推荐

  1. UVa 1339,紫书P73,词频

    题目链接:https://uva.onlinejudge.org/external/13/1339.pdf 紫书P73 解题报告: #include <stdio.h> #include ...

  2. 11行代码AC——比紫书优化,例题2-3 近似计算——解题报告

    励志用更少的代码做高效的表达 题意: 计算π/4 = 1 - 1/3 + 1/5 - 1/7 + -,直到最后一项小于10^-6. 思路分析: 本题很简单,因此计算重心从解题转化为优化. 本题为重复计 ...

  3. 比紫书优化,14行代码AC——例题 5-7 丑数(Ugly Numbers,UVa 136)——解题报告

    题意: 丑数是一些因子只有2,3,5的数.数列1,2,3,4,5,6,8,9,10,12,15--写出了从小到大的前11个丑数,1属于丑数.现在请你编写程序,找出第1500个丑数是什么. 没有输入 输 ...

  4. 紫书 团队队列(队列)

    1.用两个队列来维护成员,一个队列维护队伍编号,一个队列数组维护每个队伍的成员 ps: 紫书p118 #include <bits/stdc++.h> using namespace st ...

  5. (紫书,感谢作者)第7章暴力求解法

    今天,我们谈一谈紫书上面的内容--暴力求解法 对于一道问题来说,我们是可以借助计算机运算快的特点,将所有可能的情况全部(不一定是全部)列出来,然后去寻找我们想要的答案,这就是暴力求解了,但暴力求解绝对 ...

  6. 【紫书】(UVa12096) The SetStack Computer

    突然转进到第五章的low题目的原因是做到图论了(紫书),然后惊喜的发现第一题就做不出来.那么里面用到了这一题的思想,我们就先解决这题.当然,dp必须继续做下去,这是基本功.断不得. 题意分析 这条题真 ...

  7. ACM入门攻略(紫书入门,不间断更新)

    声明:本文仅供参考,并且假定读者已经可以熟练运用C语言及其相关知识(大神请走开,谢谢配合). 目录:一.ACM入门的相关准备(书籍,OJ,编程语言,常用网站或工具)            二.入门阶段 ...

  8. 【紫书】第一章实验+问题

    紫书第1章实验 实验A1:表达式11111∗1111111111\ast1111111111∗11111的值是多少?改成6个1呢?9个1呢? 以下几个都用有符号整数%d\%d%d输出结果. 表达式11 ...

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

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

  10. UVA 1025 紫书练习题 动态规划

    好吧,做例题总是这样,莫名其妙的WA,然后莫名其妙的AC... 关键的部分紫书上已经说得很清楚了,剩下的就是确定has_train这个数组,我觉得确定这个数组也不是难事吧..把数据范围看清楚,然后看看 ...

最新文章

  1. 扫描到U盘但找不到文件
  2. 计算机网络:第三章 数据链路层
  3. 14招保你ERP选型成功
  4. android闹钟的需求分析,手机小闹钟需求分析
  5. 分析函数RANK的使用
  6. python中sorted函数的用法_Python3 中sorted() 函数的用法
  7. python range 步长为负数_【Python面试】 说说Python中xrange和range的区别?
  8. 【javascript动画系列之网页白板】javascript实现的白板(兼容ff,ie,chrome,……)
  9. JavaScript算法(实例九)整数的置换 / 求s=a+aa+aaa+aaaa+aa...a的值 / 自守数
  10. vue和aspx判断加页面传值.txt
  11. daemon进程(转)
  12. 文件管理类函数(1)
  13. [转]JavaScript字符串函数大全
  14. 支付宝 支付宝扫描生成的二维码提示:码已失效,请刷新二维码后重试
  15. 如何PDF转Word文档?快把这些方法收好
  16. C语言基础入门需多久,c语言入门基础知识
  17. 图文安装VMware Workstation教程
  18. 如何成为优秀的软件人才
  19. ics服务启动失败的一种解决方法
  20. Apollo API网关 阿波罗

热门文章

  1. IT十年人生过客-七-眉毛与恶名
  2. 北大青鸟 某百货商场当日他在消费积分最高的八名顾客,他们的积分分别是18,25,7,36,13,2,89,63.编写程序找出的积分及他在数组中的下标
  3. 腾讯地图产业版 WeMap 官网正式发布
  4. python理财基金数据分析可视化系统
  5. python123货币转换器_Python之美元大写转换器
  6. ASC18世界大学生超算竞赛题目分析以及思路总结
  7. LottieAnimationView怎么重置为第一帧
  8. 【Linux】bash: /home/stefan/jdk1.7.0_55/bin/java: /lib/ld-linux.so.2: bad ELF interpreter
  9. Ceres Solver (ubuntu 安装)
  10. 360与QQ大战,网友昨晚热论看大片