1689 建造高塔时间限制: 1 s空间限制: 128000 KB题目等级 : **钻石 Diamond**
题目描述 Description
n有n种石块,石块能无限供应。每种石块都是长方体,其中第i种石块的长、宽、高分别为li、wi、hi。石块可以旋转,使得其中两维成为长度和宽度,第三维成为高度。如果要把一个石块放在另一个石块上面,必须保证上面石块的长和宽都分别严格小于下面石块的长和宽。这意味着,即使两块长宽相同的石块也不能堆砌起来。
现在神犇想知道,最多能用上多少块石头呢?
输入描述 Input Description
第一行,N;
以下N行,每行三个数,表示第i种石头的长宽高。
输出描述 Output Description
一个整数,表示最多能用上多少块石头。
样例输入 Sample Input
3
1 1 1
2 2 2
3 3 4
样例输出 Sample Output
3
数据范围及提示 Data Size & Hint
N≤50000,其余数字≤maxlongint。
分类标签 Tags
**动态规划**
/*
n^2 60.
*/
#include<iostream>
#include<cstdio>
#include<algorithm>
#define MAXN 50001
using namespace std;
int n,tot,ans;
struct data{int x,y,tot;
}s[MAXN*6];
int read(){int x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9') x=x*10+ch-48,ch=getchar();return x*f;
}
bool cmp(const data & x,const data & y)
{if(x.x!=y.x) return x.x<y.x;return x.y<y.y;
}
int main()
{int x,y,z;n=read();for(int i=1;i<=n;i++){x=read();y=read();z=read();s[++tot].x=x;s[tot].y=y;s[++tot].x=y;s[tot].y=x;s[++tot].x=y;s[tot].y=z;s[++tot].x=x;s[tot].y=z;s[++tot].x=z;s[tot].y=x;s[++tot].x=z;s[tot].y=y;}sort(s+1,s+tot+1,cmp);for(int i=1;i<=tot;i++){s[i].tot=1;for(int j=i-1;j>=1;j--){if(s[i].y>s[j].y&&s[i].x>s[j].x)s[i].tot=max(s[i].tot,s[j].tot+1);}}for(int i=1;i<=tot;i++)ans=max(ans,s[i].tot);printf("%d",ans);return 0;
}
/*
nlogn.
左端点排序.
右端点从大到小排序.
防止左端点相等的点被更新.
*/
#include<iostream>
#include<cstdio>
#include<algorithm>
#define MAXN 50001
using namespace std;
int n,tot,ans,l=1,c[MAXN*6];
struct data{int x,y,tot;
}s[MAXN*6];
int read(){int x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9') x=x*10+ch-48,ch=getchar();return x*f;
}
int erfen(int x){int ll=0,r=l,mid;while(ll<r){mid=(r+ll)>>1;if(x>c[mid]) ll=mid+1;else r=mid;}return ll;
}
bool cmp(const data & x,const data & y)
{if(x.x!=y.x) return x.x<y.x;return x.y>y.y;
}
int main()
{int x,y,z;n=read();for(int i=1;i<=n;i++){x=read();y=read();z=read();s[++tot].x=x;s[tot].y=y;s[++tot].x=y;s[tot].y=x;s[++tot].x=y;s[tot].y=z;s[++tot].x=x;s[tot].y=z;s[++tot].x=z;s[tot].y=x;s[++tot].x=z;s[tot].y=y;}sort(s+1,s+tot+1,cmp);c[1]=s[1].y;for(int i=2;i<=tot;i++){s[i].tot=1;if(s[i].y>c[l])  c[++l]=s[i].y;else {int p=erfen(s[i].y);c[p]=s[i].y;}}printf("%d",l);return 0;
}

转载于:https://www.cnblogs.com/nancheng58/p/6070769.html

Codevs 1689 建造高塔相关推荐

  1. 如果输送知识不再重要,那么教育问题出在哪里?

    下面的文字是经济观察报记者陈伊凡根据美国Olin工程学院院长 Richard Miller 在松山湖的一次演讲整理而得,主要是其中的一些主要观点.对于高等教育中的反思,无论是对高校教师,还是对学生都具 ...

  2. 密码学入门:几种简单的密码

    密码学入门:几种简单的密码 一.维吉尼亚密码       维吉尼亚密码引入了"密钥"的概念,即根据密钥来决定用哪一行的密表来进行替换,以此来对抗字频统计.假如以上面第一行代表明文字 ...

  3. 改变人类文明的最美公式:麦克斯韦方程组

    它告诉我们什么? 电和磁并不会随便乱跑.旋转的电场区域会产生垂直于旋转方向的磁场.旋转的磁场区域也会产生垂直于旋转方向的电场,但方向相反. 为什么重要? 这是物理力的第一次重大统一,表明电和磁是密切相 ...

  4. codevs 1066 引水入城(DFS+DP)

    codevs 1066 引水入城 题目描述 Description 在一个遥远的国度,一侧是风景秀美的湖泊,另一侧则是漫无边际的沙漠.该国的行政 区划十分特殊,刚好构成一个N行M列的矩形,如上图所示, ...

  5. 【并查集】黑魔法师之门(codevs 1995/joyoi-codevs 1995)

    黑魔法师之门 codevs 1995 joyoi-codevs 1995 题目大意: 有一堆点,每一次操作添加一条边,并要输出每个点的度数都大于1并为偶数的子图的个数 原题: 题目描述 经过了16个工 ...

  6. Codevs 1066 引水入城 2010年NOIP全国联赛提高组 BFS + 贪心

    Codevs 1066 引水入城 题目上没有给出样例二,只给出了样例二的图,真是奇怪(丧心病狂). Input2: 3 6 8 4 5 6 4 4 7 3 4 3 3 3 3 2 2 1 1 2 Ou ...

  7. CodeVS 1003 电话连线

    CodeVS 1003  电话连线                                    By MPS                542479042@qq.com -------- ...

  8. 亲手建造自己想要的生活

    一个人最好的生活,就是靠自己,只有自己才是最可靠的:就算能靠最亲的亲人也不要依靠太多,自己用双手努力得来的才是真正的自己: 在成年人的世界里,有时候你遇到的困难,任你再怎么哭闹叫喊,也很难改变糟糕的现 ...

  9. [ CodeVS冲杯之路 ] P1116

    不充钱,你怎么AC? 题目:http://codevs.cn/problem/1116/ 数据很小,DFS可A,每层枚举颜色,判断相邻的点是否有重复的颜色,记得回溯时把颜色染回0,即无颜色 这里我使用 ...

最新文章

  1. R语言ggplot2可视化:可视化人口金字塔图、人口金字塔显示不同性别不同年龄段的人口数,是了解人口组成的最优可视化方法、人口金字塔图可以用来表示按体积排序的群体的分布、形成漏斗结构
  2. 数据分析系列:完善统计图(matplotlib)
  3. php入门02-数组
  4. 首席架构师徐海峰眼中的架构和出色的架构师
  5. Linux下使用GDB进行调试
  6. tempdb 数据文件暴涨
  7. HTML:实现旋转地球特效
  8. 一种基于复制粘贴的cam350邮票孔拼版教程(二)导出gerber
  9. RS纠删码性能分析实战
  10. excel工作薄密码破解/清除
  11. div嵌套的div水平垂直居中
  12. 5道Python数据分析面试题
  13. leetcode:买卖股票的最佳时机含手续费(python)
  14. 帝国CMS系统提示登录超时解决办法
  15. Ekl去记录nginx的日志
  16. abaqus6.10离线版user‘smanual
  17. php怎么查看qq邮箱,thinkphp实现163、QQ邮箱收发邮件的方法
  18. miniblink获取html文档,五、【miniblink】直接注册js可以调用的原生函数
  19. WLAN驱动分析文档_gzc126_新浪博客
  20. appium+android各配置参数获取'platformName'、'platformVersion'、appActivity、deviceName、webdriver.Remote...

热门文章

  1. STL训练 HDU - 1716 Ray又对数字的列产生了兴趣:
  2. 计组—中央处理器(CPU)
  3. linux-shell命令之mv(move)【移动或者改名】
  4. Moblieye副总裁交流纪要
  5. MOS管驱动电路总结
  6. C#中的thread和task之 Thread ThreadPool
  7. python3(四)Pandas库
  8. 特斯拉自动驾驶使用的技术_使用自回归预测特斯拉股价
  9. 支付宝18年账单已出,你消费了多少钱?
  10. 北京有个可以躺的酒吧——床吧(BED)