第三次作業

2022-08-14 23:00:24 字數 1441 閱讀 6910

639.線段樹-貼海報 (10分)

c時間限制:3000 毫秒 |  c記憶體限制:3000 kb

題目內容:

由10^7塊1x1的玻璃構成1x10^7的海報牆,每個海報完整地覆蓋幾塊玻璃,海報的寬度可以不同。後來的人可以覆蓋

前人的海報。一張海報如果有沒被覆蓋的部分,則稱為可視海報。你的任務是找出有多少可視海報。

輸入描述

第一行是測試的總數c,接下來的行是各測試用例。

每個測試的第一行是海報的總數n, n<=10000, 然後是n個按先後順序貼的海報的位置li, ri. 滿足1<=li<=ri<=10^7。

輸出描述

每個測試的可視海報數目

輸入樣例15

1 42 6

8 10

3 47 10

輸出樣例

4**:

#include#include

#include

using

namespace

std;

#define l(rt) (rt<<1)

#define r(rt) (rt<<1|1)

const

int n = 1e5+10

;int

flag;

struct

treetree[n

<<2

];struct

pointpost[n

<<2

];int

cmp1(point a,point b)

intcmp2(point a,point b)

void pushup(int

rt)void build(int l,int r,int

rt)void query(int l,int r,int

rt)

int mid = (tree[rt].l + tree[rt].r)>>1

;

if(r<=mid)

query(l,r,l(rt));

else

if(l>=mid+1

) query(l,r,r(rt));

else

pushup(rt);

}int

main()

sort(post,post+2*n,cmp1);

int tot = 0,pre = 0

;

for(int i=0;i<2*n;i++)

}build(

1,2*n,1

); sort(post,post+2*n,cmp2);

int ans = 0

;

for(int i=0;i<2*n;i=i+2

)

cout

}return0;

}

第三次作業

2 12有600 mb 兆位元組 的資料,需要從南京傳送到北京。一種方法是將資料寫到磁碟上,然後託人乘火車這 些磁碟捎去。另一種方法是用計算機通過長途 線路 設資訊傳送的速率為2.4kb s 傳送此資料。試比較這兩種方法的優劣。若資訊傳送速率為33.6kb s,其結果又如何?解 當傳送速率為2.4k...

第三次作業

1 有600mb 兆位元組 的資料,需要從南京傳送到北京 一種方法是將資料寫到磁碟上,然後託人乘火車將這些磁碟捎去。另一種方法是用計算機通過長途 線路 設資訊傳送的速率為2.4kb s 傳送此資料,試比較這兩種方法的優劣。若資訊傳送的速率為33.6kb s,其結果又如何?解 假定連續傳送且不出錯。若...

第三次作業

p67 2 12 有600mb的資料,需要從南京傳送到北京。一種方法是將資料寫到磁碟上,然後託人乘火車將這些磁碟捎去。另一種方法是用計算機通過長途 線路 設資訊傳送的速率是2.4kbps 傳送此資料。試比較這兩種方法的優劣。若資訊傳送速率為33.6kbps,其結果又如何?解 1 t 600 1024...