csu 1757 貪心或者樹狀陣列

2022-05-18 06:08:49 字數 1450 閱讀 9798

time limit: 1 sec  memory limit: 128 mb

submit: 209  solved: 51

[submit][status][web board]

火車站人們總是在站台等待列車進站,乙個站台有火車停留的時候就不能有其他火車進入,今天有n輛火車經過,已知它們進站時間si以及出站時間ti,進站時間到出站時間之間火車必須有乙個站台給它停靠,問讓所有火車都能按時停靠,至少要安排多少個站台給這些火車

第一行輸入乙個正整數t,表示資料組數

每組資料第一行輸入乙個正整數n,表示火車數量(n<=10000)

接下來n行,每行輸入2個正整數si,ti,表示第i輛火車的進站時間和出站時間(si每組資料輸出至少需要安排多少個站台

1

31 3

3 44 6

2

因為最多20000個點,樹狀陣列的離散化一下,維護區間,最後求點的最大值.

#include #include 

#include

#include

#include

using

namespace

std;

const

int n = 100005

;int

x[n],a[n],b[n];

intc[n],n;

int lowbit(int

i)void update(int idx,intv)}

int getsum(int

idx)

return

sum;

}int

main()

int k = 2

; sort(x+1,x+cnt);

for(int i=2;i)

for(int i=1;i<=n;i++)

int max = -1

;

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

printf(

"%d\n

",max);

}return0;

}

貪心策略:為起點和終點排序,遇到起點的話多乙個站台,遇見終點的話少乙個站台。中間過程中最大的值即為結果。

#include #include 

#include

#include

#include

using

namespace

std;

const

int n = 100005

;int

a[n],b[n],n;

intmain()

else

ans=max(ans,sum);

}printf(

"%d\n

",ans);

}return0;

}

CSU 1757 火車進站 1757

time limit 1 sec memory limit 128 mb submitted 463 solved 117 火車站人們總是在站台等待列車進站,乙個站台有火車停留的時候就不能有其他火車進入,今天有n輛火車經過,已知它們進站時間si以及出站時間ti,進站時間到出站時間之間火車必須有乙個站...

CSU1757 火車入站 模擬

火車站人們總是在站台等待列車進站,乙個站台有火車停留的時候就不能有其他火車進入,今天有n輛火車經過,已知它們進站時間si以及出站時間ti,進站時間到出站時間之間火車必須有乙個站台給它停靠,問讓所有火車都能按時停靠,至少要安排多少個站台給這些火車 第一行輸入乙個正整數t,表示資料組數 每組資料第一行輸...

樹狀陣列 csu 1933

小明家門口有乙個賣飲料的自動售貨機,小明經常在那裡買飲料。每種飲料有乙個流行度,表示它在市場上流行的程度,為了顯示自己的與眾不同,小明從來不買流行度大於t的飲料。售貨機上有三種操作 1 在貨架上新增一種流行度為x的飲料,並以j作為該飲料的編號,j表示該飲料是第j個被新增的飲料 j從1開始計數 2 編...