Codevs 1689 建造高塔

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
N50000,其余数字≤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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/254658.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows环境下OpenLDAP安装与客户端连接配置

2019独角兽企业重金招聘Python工程师标准>>> 1.下载安装OpenLDAP版本 C:\Users\Administrator>slapd -V OpenLDAP 2.4.42 Standalone LDAP Server (slapd) 2.安装过程中&#xff0c;全部用默认的操作执行即可。 3.修改OpenLDAP文件如下&#xff1a; # MDB Backen…

主流开源编解码器Xvid,x264,ffmpeg 性能对比

如有转载请注明出处&#xff1a;孔祥文博客http://kswapd.cublog.cn Xvid是基于MPEG4协议的编解码器&#xff0c;x264是基于H.264协议的编码器&#xff0c;ffmpeg集合了各种音频&#xff0c;视频编解码协议&#xff0c;通过设置参数可以完成基于MPEG4,H.264等协议的编解码&…

halcon标定后改变世界坐标系参考点方法

halcon相机标定完成后&#xff0c;世界坐标系原点在标定板的中间&#xff0c;如果要自定义坐标系原点该如何操作 如图&#xff1a; 方法1 使用仿射变换 *pose_to_hom_mat3d (FinalPose, HomMat3D) *hom_mat3d_translate_local (HomMat3D, dx, dy, 0, HomMat3DTranslate) *hom_…

Oracle 【IT实验室】数据库备份与恢复之:如何对Oracle数据库文件进行恢复与备份...

任何数据库在长期使用过程中&#xff0c;都会存在一定的安全隐患。对于数据库管理员来说不能仅寄希望于计算机操作系统的安全运行&#xff0c;而是要建立一整套的数据库备份与恢复机制。当数据库发生故障后&#xff0c;希望能重新建立一个完整的数据库&#xff0c;该处理称为数…

vue刷新当前路由:router-view 复用组件时不刷新的3种解决方案总结

vue-router是Vue.js官方的路由插件&#xff0c;它和vue.js是深度集成的&#xff0c;适合用于构建单页面应用。vue的单页面应用是基于路由和组件的&#xff0c;路由用于设定访问路径&#xff0c;并将路径和组件映射起来。传统的页面应用&#xff0c;是用一些超链接来实现页面切换…

KUKA---US2电源的安全属性-------老款硬线连接实现的DRIVE安全STO SBC 、新款基于Safety over EtherCAT 网络帧实现的DRIVE安全STO SBC

安全双回路的监控&#xff1a;&#xff08;工业上的安全&#xff0c;是指安全等级&#xff0c;没有绝对的安全&#xff09; 1. 机械式&#xff1a;监控关断继电器的辅助反馈触点&#xff0c;这个关断继电器包含机械联锁触点&#xff0c;这样反馈触点和主触点可以同步开关动…

C#6.0中$的用法

C#6.0中$的用法 这里注意只有VS2015及以上VS版本才支持这样写&#xff01; 如果使用vs2015以下版本就去用string.format()吧&#xff01; //C#6.0中$的用法&#xff1a;是为了替代string.format();//原先赋值需要占位符和变量&#xff0c;当需要拼接多个变量会造成语句过长等不…

Oracle密码过期问题 ORA-28001:the password has expired

如果已经过期了&#xff0c;首先需要修改密码&#xff0c;然后设置密码为无限期。修改以sys用户登陆。 修改密码&#xff1a;alter user username identified by password 密码可以和之前的密码相同也可以不同。 修改数据库密码为无限期&#xff1a; Oracle的密码过期规则是用…

X11硬线接口信号 与Profisafe安全输入输出信号之间的区别与比较

&#xfeff;&#xfeff;X11硬线接口信号 与Profisafe安全输入输出信号之间的区别与比较 Profisafe安全输入信号US2信号有待深入&#xff08;通过外部PLC &#xff1a;&#xff09; &#xfeff;&#xfeff;

预处理指令pragma常见用法集锦(#pragma once、#pragma comment和#pragma warning)

#pragma once&#xff1a; 这是一个比较常用的指令,只要在头文件的最开始加入这条指令就能够保证头文件被编译一次&#xff0c;避免文件被重复包含。 *********************************** 例如 ***************************************** 头文件中的 #if _MSC_VER > 100…

var类型推断关键字

目录var 类型推断介绍var的一个例子&#xff1a;编程遵循规则var 类型推断介绍 使用var定义变量时&#xff0c;用var关键字替代实际类型。编译器可以根据变量的初始化值自行“推断”变量的类型。 例如&#xff1a; var A 0&#xff1b; 等价于 int A 0&#xff1b;var的一个…

《程序员修炼之道》笔记(九)

*续 第八章 注重实效的项目 1. 无处不在的自动化 文明通过增加我们不假思索就能完成的重要操作的数目而取得进步。 无论是构建和发布流程、是书面的代码复查工作、还是其他任何在项目中反复出现的任务&#xff0c;都必须是自动的。人工流程不能保证一致性&#xff0c;也无法保证…

flutter image boxfit

直接从官网文档中复制记录&#xff0c;方便以后查看contain → const BoxFitAs large as possible while still containing the source entirely within the target box.const BoxFit(1)cover → const BoxFitAs small as possible while still covering the entire target box…

rvm RuvyGem Cocoapods brew

开始的时候&#xff0c;我仅想升级一下cocoapods的版本&#xff0c;因为我xcode报三十多个相似警告&#xff0c;说第三方找不到相应文件&#xff0c;我看cocoapods版本有1.0.1&#xff0c;而我使用的依旧是1.0.0的老版本。当我升级cocoapods时&#xff0c;需要使用gem来更新coc…

Linux系统目录说明

以前稍稍接触过Linux系统&#xff0c;现今&#xff0c;因工作需要要更进一步学习Linux系统的相关程序开发。因此对于目录&#xff08;路径&#xff09;的了解及很重要了。/bin&#xff1a;是Binary的缩写&#xff0c;这里保存了一百多个Linux下常用的命令、工具&#xff1b;这是…

const常量用法

目录定义语法特点优点定义 常量就是在使用过程中不会变化的量叫做常量。 语法 const int A 100;//常量不允许改变特点 常量必须在声明时初始化&#xff1b;常量的值必须在编译时就定义好&#xff1b;常量总是隐式静态的&#xff1b; 优点 易读&#xff0c;易于程序修改&…

斯坦福大学机器学习——高斯判别分析

转自 http://blog.csdn.net/linkin1005/article/details/39054023 同朴素贝叶斯一样&#xff0c;高斯判别分析&#xff08;Gaussian discriminant analysismodel, GDA&#xff09;也是一种生成学习算法&#xff0c;在该模型中&#xff0c;我们假设y给定的情况下&#xff0c;x服…

嘉实多RO150合成齿轮油

&#xfeff;&#xfeff;Optigear ™合成 RO 是一个特殊的高性能&#xff0c;长期多级油特别为齿轮 轨道交通&#xff0c;机械工程应用中&#xff0c;一个极端的气候条件和长期使用。 “ Microflux 跨的添加剂组合是免费的固体润滑剂&#xff0c;甚至适应迅速变化的环境和积极…

线程队列-queue

使用队列的目的&#xff1a;解耦&#xff0c;使程序之间实现松耦合&#xff1b;提高处理效率FIFO 先进先出&#xff0c;first in first outLIFO 后入先出&#xff0c;last in first out生产者消费者模型使用方式1 import queue 2 3 #创建队列对象&#xff0c;设置队列大小ma…