NOIP 2012 Day2T2 借教室題解

2022-06-02 16:15:13 字數 2648 閱讀 4599

題目描述 description

在大學期間,經常需要租借教室。大到院系舉辦活動,小到學習小組自習討論,都需要向學校申請借教室。教室的大小功能不同,借教室人的身份不同,借教室的手續也不一樣。

面對海量租借教室的資訊,我們自然希望程式設計解決這個問題。我們需要處理接下來n天的借教室資訊,其中第i天學校有ri個教室可供租借。共有m份訂單,每份訂單用三個正整數描述,分別為dj, sj, tj,表示某租借者需要從第sj天到第tj天租借教室(包括第sj天和第tj天),每天需要租借dj個教室。我們假定,租借者對教室的大小、地點沒有要求。即對於每份訂單,我們只需要每天提供dj個教室,而它們具體是哪些教室,每天是否是相同的教室則不用考慮。借教室的原則是先到先得,也就是說我們要按照訂單的先後順序依次為每份訂單分配教室。如果在分配的過程中遇到乙份訂單無法完全滿足,則需要停止教室的分配,通知當前申請人修改訂單。這裡的無法滿足指從第sj天到第tj天中有至少一天剩餘的教室數量不足dj個。現在我們需要知道,是否會有訂單無法完全滿足。如果有,需要通知哪乙個申請人修改訂單。

輸入描述 input description

第一行包含兩個正整數n, m,表示天數和訂單的數量。

第二行包含n個正整數,其中第i個數為ri,表示第i天可用於租借的教室數量。

接下來有m行,每行包含三個正整數dj, sj, tj,表示租借的數量,租借開始、結束分別在

第幾天。

每行相鄰的兩個數之間均用乙個空格隔開。天數與訂單均用從1開始的整數編號。

輸出描述 output description

如果所有訂單均可滿足,則輸出只有一行,包含乙個整數 0。否則(訂單無法完全滿足)

輸出兩行,第一行輸出乙個負整數-1,第二行輸出需要修改訂單的申請人編號。

樣例輸入 sample input

4 3 

2 5 4 3 

2 1 3 

3 2 4 

4 2 4 

樣例輸出 sample output

-1 2 

資料範圍及提示 data size & hint

【輸入輸出樣例說明】

classroom.out 

-1 2 

第 1 份訂單滿足後,4 天剩餘的教室數分別為 0,3,2,3。第 2 份訂單要求第 2 天到

第 4 天每天提供 3 個教室,而第 3 天剩餘的教室數為 2,因此無法滿足。分配停止,通知第

2 個申請人修改訂單。

—————————————分割線—————————————

分析:

這道題是一道線段樹裸題,不再做贅述。

**:

1/*2

2023年noip全國聯賽提高組day2t2

3code[vs]1217

4線段樹動態維護區間最小值

5code by :shhhs

620160809 12:47 7*/

8 #include 9 #include 10 #include 11 #include

12 #include 13 #include 14 #include 15

16#define maxn 1000010

1718

using

namespace

std;

19 typedef long

long

qaq;

2021

struct

tree ;

22 inline qaq min(qaq a ,qaq b)

2324 tree tr[maxn<<2

];25

qaq arr[maxn],val;

2627

qaq read()

34return

x;

35}

3637 inline void

push_down ( qaq i ,qaq m )45}

4647

void

build_tree(qaq x ,qaq y,qaq i )56}

5758

void

update_tree (qaq q ,qaq w ,qaq i )

64else

70else

if ( w<=mid )

73else

77 tr[i].mintr = min(tr[i<<1].mintr , tr[i<<1|1

].mintr);78}

79}8081

intmain()

9293 printf("

0\n"

);94

goto

end;

9596

fail:

97 printf("

-1\n%lld

",m-m);

98end:

99return0;

100 }

classroom

2016-10-08 15:37:31

(完)

NOIP 2012 提高組 D2T2借教室

在大學期間,經常需要租借教室。大到院系舉辦活動,小到學習小組自習討論,都需要向學校申請借教室。教室的大小功能不同,借教室人的身份不同,借教室的手續也不一樣。面對海量租借教室的資訊,我們自然希望程式設計解決這個問題。我們需要處理接下來n天的借教室資訊,其中第i天學校有ri個教室可供租借。共有m份訂單,...

NOIP2012 DAY1 T2 國王遊戲

恰逢 h國國慶,國王邀請n位大臣來玩乙個有獎遊戲。首先,他讓每個大臣在左 右手上面分別寫下乙個整數,國王自己也在左 右手上各寫乙個整數。然後,讓這 n 位大臣排成一排,國王站在隊伍的最前面。排好隊後,所有的大臣都會獲得國王獎賞的若干金幣,每位大臣獲得的金幣數分別是 排在該大臣前面的所有人的左手上的數...

NOIP2012d2t2 國王遊戲

題目大意 國王和n個大臣站成一列,編號為0,1,2.n 國王在隊首 每個人有兩個數字 ai,bi 0 i n 問如何排列大臣的序列,使 a0 a1 ai 1 bi 1 i n 中的最大值最小,求這個最小值 首先注意對於100 的資料,有1 n 1,000,0 a b 10000。高精度,居然要高精度...