紫书 UVa437巴比伦塔
题目链接: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巴比伦塔相关推荐
- UVa 1339,紫书P73,词频
题目链接:https://uva.onlinejudge.org/external/13/1339.pdf 紫书P73 解题报告: #include <stdio.h> #include ...
- 11行代码AC——比紫书优化,例题2-3 近似计算——解题报告
励志用更少的代码做高效的表达 题意: 计算π/4 = 1 - 1/3 + 1/5 - 1/7 + -,直到最后一项小于10^-6. 思路分析: 本题很简单,因此计算重心从解题转化为优化. 本题为重复计 ...
- 比紫书优化,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个丑数是什么. 没有输入 输 ...
- 紫书 团队队列(队列)
1.用两个队列来维护成员,一个队列维护队伍编号,一个队列数组维护每个队伍的成员 ps: 紫书p118 #include <bits/stdc++.h> using namespace st ...
- (紫书,感谢作者)第7章暴力求解法
今天,我们谈一谈紫书上面的内容--暴力求解法 对于一道问题来说,我们是可以借助计算机运算快的特点,将所有可能的情况全部(不一定是全部)列出来,然后去寻找我们想要的答案,这就是暴力求解了,但暴力求解绝对 ...
- 【紫书】(UVa12096) The SetStack Computer
突然转进到第五章的low题目的原因是做到图论了(紫书),然后惊喜的发现第一题就做不出来.那么里面用到了这一题的思想,我们就先解决这题.当然,dp必须继续做下去,这是基本功.断不得. 题意分析 这条题真 ...
- ACM入门攻略(紫书入门,不间断更新)
声明:本文仅供参考,并且假定读者已经可以熟练运用C语言及其相关知识(大神请走开,谢谢配合). 目录:一.ACM入门的相关准备(书籍,OJ,编程语言,常用网站或工具) 二.入门阶段 ...
- 【紫书】第一章实验+问题
紫书第1章实验 实验A1:表达式11111∗1111111111\ast1111111111∗11111的值是多少?改成6个1呢?9个1呢? 以下几个都用有符号整数%d\%d%d输出结果. 表达式11 ...
- 紫书《算法竞赛入门经典》
紫书<算法竞赛入门经典>题目一览 第3章 数组和字符串(例题) UVA 272 TEX Quotes UVA 10082 WERTYU UVA 401 Palindromes UVA 34 ...
- UVA 1025 紫书练习题 动态规划
好吧,做例题总是这样,莫名其妙的WA,然后莫名其妙的AC... 关键的部分紫书上已经说得很清楚了,剩下的就是确定has_train这个数组,我觉得确定这个数组也不是难事吧..把数据范围看清楚,然后看看 ...
最新文章
- 扫描到U盘但找不到文件
- 计算机网络:第三章 数据链路层
- 14招保你ERP选型成功
- android闹钟的需求分析,手机小闹钟需求分析
- 分析函数RANK的使用
- python中sorted函数的用法_Python3 中sorted() 函数的用法
- python range 步长为负数_【Python面试】 说说Python中xrange和range的区别?
- 【javascript动画系列之网页白板】javascript实现的白板(兼容ff,ie,chrome,……)
- JavaScript算法(实例九)整数的置换 / 求s=a+aa+aaa+aaaa+aa...a的值 / 自守数
- vue和aspx判断加页面传值.txt
- daemon进程(转)
- 文件管理类函数(1)
- [转]JavaScript字符串函数大全
- 支付宝 支付宝扫描生成的二维码提示:码已失效,请刷新二维码后重试
- 如何PDF转Word文档?快把这些方法收好
- C语言基础入门需多久,c语言入门基础知识
- 图文安装VMware Workstation教程
- 如何成为优秀的软件人才
- ics服务启动失败的一种解决方法
- Apollo API网关 阿波罗
热门文章
- IT十年人生过客-七-眉毛与恶名
- 北大青鸟 某百货商场当日他在消费积分最高的八名顾客,他们的积分分别是18,25,7,36,13,2,89,63.编写程序找出的积分及他在数组中的下标
- 腾讯地图产业版 WeMap 官网正式发布
- python理财基金数据分析可视化系统
- python123货币转换器_Python之美元大写转换器
- ASC18世界大学生超算竞赛题目分析以及思路总结
- LottieAnimationView怎么重置为第一帧
- 【Linux】bash: /home/stefan/jdk1.7.0_55/bin/java: /lib/ld-linux.so.2: bad ELF interpreter
- Ceres Solver (ubuntu 安装)
- 360与QQ大战,网友昨晚热论看大片