線段樹 貼海報

2021-05-22 09:15:30 字數 855 閱讀 8126

描述

數碼城正在舉行市長選舉,城中各處貼滿了競選者的海報,這引起了一些市民的不滿。因此城市委員會決定建造一座競選牆,讓參加競選的人把自己的海報統 一貼到競選牆上。張貼海報的規則是:

每乙個候選人只能張貼一張海報; 

海報的高度和牆的高度一樣,而海報的寬度則是任意個 byte 寬(在數碼城,byte 是個長度單位); 

競選牆被分成很多段,每段的寬度是乙個 byte; 

競選者的海報必須完整地覆蓋一串連續的段。 

委員會建立的競選牆長度為 10,000,000 byte。競選開始後,候選人可以把他們自己的海報張貼出來。然而,一些候選人卻把自己的海報貼在了已經張貼了海報的牆面上,從而蓋住了別人的海報。數碼 城的人們都很好奇,最後有幾個人的海報是可見(部分或全部)的呢?

你的任務就是在海報寬度、位置和張貼順序這些資料的基礎上,找出最終能有幾個競選者的海報能被人們看到。

輸入

輸入的第一行是乙個整數,它表示資料的組數,之後是各組資料。

每組資料的第一行是乙個整數 1 <= n <= 10000。後續的 n 行順序地記錄了 n 張海報張貼的位置,每一行有兩個整數 li 和 ri,分別是第 i 張海報所佔據的最左和最右段號。已知對於每乙個 1 <= i <= n,1 <= li <= ri <= 10,000,000。當第 i 份海報張貼後,它會覆蓋從 li, li+1,...ri 的所有段。

輸出

針對每一組資料,輸出最終可以顯示出的海報的份數。

ps:本人一點思路沒有,這個問題要怎樣實現呢,資料結構我們只學了陣列廣義表 線性表 棧佇列,不知道怎樣解決,高手給個實現**,或者提供下思路也行.

線段樹 線段樹學習貼(持續更新)

線段樹是一棵完全二叉樹,樹的每乙個結點儲存了一條線段 其中自己按需要給該線段區間賦予了一些屬性值 其實質是二分與遞迴的思想。像資料結構這樣的東西,我覺得通過一定量題目的練習與思考,就還是比較容易掌握。於是,我的線段樹之路開始了。題目 count color 思路 線段樹基本操作練習,屬於更新區間 入...

poj2528 貼海報 區間樹離散化

利用離散化大大優化速度。離散化 排序,去重,對映。區間樹 判斷區間,上下更新值。include include include include using namespace std int n struct cpost cpost posters 10100 int x 20200 存放所有海報的...

深度思考故事1 貼發票和貼海報

手把手的教。從工作流程到待人接物。她也學的快。很多任務作一教就上手。一上手就熟練。跟各位同事也相處的頗融洽。我開始慢慢的給她一些協調的工作,各部門之間以及各分公司之間的業務聯絡和溝通讓她嘗試著去處理。開始經常出錯。她很緊張,來找我談。我告訴她 錯了沒關係,你且放心按照你的想法去做。遇到問題了,來問我...