HDU 1069 Monkey and Banana
传送门
#include<iostream>
#include<algorithm>
#include<map>
#include<set>
#include<vector>
#include<utility>
#include<list>
#include<deque>
#include<queue>
#include<stack>
#include<string>
#include<cstring>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cctype>
using namespace std;typedef long long LL; //数据太大了记得用LL,还有把INF也得换
typedef pair<LL, LL> P;const int maxn = 1e7+10; //cf数组最多差不多是这么多,1e8就会段错误
const int V_MAX = 800 + 10;
const int mod = 10007;
const int INF = 0x3f3f3f3f; //如果数据范围为long long,记得把INF的值换了
const double eps = 1e-6; //eps开太小二分容易死循环,所以直接来个100次循环就好了//多组输入时,maxn太大,用memset()会超时,血的教训;struct rec{int c, k, h;rec() {}rec(int cc, int kk, int hh) : c(cc), k(kk), h(hh) {}bool operator < (const rec &b) const {if(c != b.c) return c > b.c;else return k > b.k;}
};int n, kase;
vector<rec> arr;//dp[i]表示以arr[i]结尾,最高的高度
//dp[i] = max(dp[i], dp[j] + arr[i]);void solve() {arr.clear();for(int i = 0; i < n; i++) {int a, b, c;cin >> a >> b >> c;arr.push_back(rec(a, b, c));arr.push_back(rec(a, c, b));arr.push_back(rec(b, a, c));arr.push_back(rec(b, c, a));arr.push_back(rec(c, a, b));arr.push_back(rec(c, b, a));}sort(arr.begin(), arr.end());int cnt = arr.size();int dp[cnt], ans = 0;for(int i = 0; i < cnt; i++) {dp[i] = arr[i].h;for(int j = 0; j < i; j++) {if(arr[i].c < arr[j].c && arr[i].k < arr[j].k) dp[i] = max(dp[i], arr[i].h + dp[j]);}ans = max(dp[i], ans);}cout << "Case " << ++kase << ": " << "maximum height = " << ans << endl;
}int main()
{ios::sync_with_stdio(false); //关了流同步就别用c的输入//freopen("D:\\in.txt", "r", stdin);while(cin >> n && n) { solve();}return 0;
}
HDU 1069 Monkey and Banana相关推荐
- HDU 1069 Monkey and Banana 最长上升子序列进阶(动态规划)
HDU 1069(动态规划) Monkey and Banana Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K ...
- HDU 1069 Monkey and Banana(简单图解,经典DP,最大上升子序列变形)
题目链接 今天做的第二题,感觉比较经典,详细记录一下吧! Monkey and Banana Time Limit: 2000/1000 MS (Java/Others) Memory Limit: ...
- 三维最长上升子序列问题——HDU 1069 Monkey and Banana
题目: A group of researchers are designing an experiment to test the IQ of a monkey. They will hang a ...
- hdu 1069 Monkey and Banana (LIS)
Problem - 1069 随便找到的一道题目. 题意是给出一些的长方体,长方体可以用任意次数,可以任意翻转.如果一个长方体可以叠在另一个长方体上,条件是这个长方体的长和宽严格小于另一个长方体的长和 ...
- hdu(1069)——Monkey and Banana(LIS变形)
题意: 如今给你n个石块,然后它由坐标来表示(x,y,z).可是它能够有不同的方法,也就是说它的三个坐标能够轮换着来的. 石块的数量不限,可是每次都必须保持上底面的长和宽严格递减,然后问你用这些石块所 ...
- hdu 1069 Monkey and Banana 【动态规划】
题目 题意:研究人员要测试猴子的IQ,将香蕉挂到一定高度,给猴子一些不同大小的箱子,箱子数量不限,让猩猩通过叠长方体来够到香蕉. 现在给你N种长方体, 要求:位于上面的长方体的长和宽 要小于 下面 ...
- hdu 1069 Monkey and Banana dp
题意:给你n种个长方体,告诉你每种长方体的长,宽,高,并且每种长方体个数不限 问:把它们堆起来的最大高度 限制条件:上面一个长方体a的底面积,必须比它下面一个长方体b的底面积大,而且,a的底面的长宽也 ...
- HDUOJ 1069 Monkey and Banana
HDUOJ 1069 Monkey and Banana 题目链接 Problem Description A group of researchers are designing an experi ...
- HDOJ 1069 Monkey and Banana
1:每一组X,Y,Z对应3个立方体 2:按面积从小到大DP Monkey and Banana Time Limit: 2000/1000 MS (Java/Others) Memory Lim ...
最新文章
- hadoop2.610集群配置(包含HA和Hbase )
- char怎么比较_C语言的 main 函数到底怎么写才是对的?
- win8 C盘空间不足的几种解决方法
- 【数字信号处理】线性常系数差分方程 ( 线性常系数差分方程 与 边界条件 总结 ) ★★★
- 【云上ELK系列】Logstash迁移Elasticsearch数据方法解读
- 情怀满满 新一代观影神器坚果1895
- 从零开始学习前端开发 — 15、CSS3过渡、动画
- 高性能队列--Disruptor
- 计算机考试dw操作题,职称计算机考试Dreamweaver训练题
- 反正切函数的应用解题报告
- 皇帝成长计划html文件打不开,伯爵皇帝成长计划解决存档问题XP/win7/win8适用
- 如果是有意隐藏,请使用关键字 new。
- 关于电脑外设键盘的讲解
- vuex的使用说明(个人专用)
- 创建一个Spring Boot项目
- 2013,手游迎首轮大洗牌,小团队如何存活
- WIN10 查看隐藏进程并强制终止进程
- 腾讯要AI in All:西部世界导演和腾讯COO刚刚一起聊了聊人为什么要活着
- 存储区域网络将占下一代数据存储市场的 7%
- Python中级 —— 07标准库
热门文章
- APP上架到各大应用商店指南
- ajax 报错 Content-Type is not allowed by Access-Control-Allow-Headers in preflight respon
- ps画画模糊笔刷_用ps污点画笔修复工具讲图片变成朦胧效果
- 飞书从个性到共性,企业微信从共性到个性
- 体验在终端——参加2012年移动开发者大会有感
- Python 多进程与数据库连接池配合同时取出数据进行处理
- JS实现刷新_重新加载页面
- [0x7FFE1E17E050] ANOMALY: meaningless REX prefix used cmd窗口activate报错
- @Vaild注解使用详解
- 使用python-docx实现对word文档里的字符串、图片批量替换