>description
桌子上零散地放著若干個盒子,桌子的後方是一堵牆。如右圖所示。現在從桌子的前方射來一束平行光, 把盒子的影子投射到了牆上。問影子的總寬度是多少?
第一行輸入乙個整數n,表示桌面總寬度
第二行輸入乙個整數m,表示盒子數量
接下來m行,每行輸入兩個數x,y,表示第i個盒子的起始位置和終止位置
>output
陰影寬度
>sample input204
1 53 8
7 10
13 19
>sample output
15>解題思路
離散化模板。
>**
#include
#include
#include
using namespace std;
struct box
a[100005];
int l, n, ans, b[
200005];
int main()
sort
(b +
1, b +1+
2* n)
;//排序
for(int i =
2; i <=
2* n; i++
)//掃離散陣列
for(int j =
1; j <= n; j++
)//原陣列
if(b[i]
> a[j]
.x && b[i]
<= a[j]
.y)printf
("%d"
, ans)
;return0;
}
線段樹練習題一(離散化做法)
time limit 10000ms memory limit 65536k total submit 228 accepted 76 case time limit 1000ms description 桌子上零散地放著若干個盒子,桌子的後方是一堵牆。如右圖所示。現在從桌子的前方射來一束平行光,把...
線段樹練習題一
線段樹練習題一 description 桌子上零散地放著若干個盒子,桌子的後方是一堵牆。如右圖所示。現在從桌子的前方射來一束平行光,把盒子的影子投射到了牆上。問影子的總寬度是多少?分析 給線段樹每個節點增加乙個域cover。cover 1表示該結點所對應的區間被完全覆蓋,cover 0表示該結點所對...
線段樹 線段樹練習題一
桌子上零散地放著若干個盒子,桌子的後方是一堵牆。如右圖所示。現在從桌子的前方射來一束平行光,把盒子的影子投射到了牆上。問影子的總寬度是多少?第一行,乙個數m代表桌面寬度 第二行,乙個數n代表盒子數量 第2到n 2行,每行兩個數代表盒子開始與結束的位置 output 乙個數,影子的總寬度 sample...