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.pswp.cn/news/254658.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/254658.shtml
英文地址,請注明出處:http://en.pswp.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…