NOIp2012借教室 差分 字首和 二分

2021-09-25 05:30:54 字數 601 閱讀 2893

題解:本題主要考查差分+字首和+二分。

簡要題意:n天,第i天有ri個教室可藉。有m份訂單,某租借者需要從第sj​天到第tj​天租借教室(包括第sj​天和第tj​天),每天需要租借dj個教室。求是否能滿足。

1.差分和字首和:因為需要對教室進行區域減,所以用差分和字首和快速進行操作。

2.二分:在這裡又學到了二分的乙個條件:可以區域性捨棄性。就可以二分序號快速找出答案。

**如下:

#include#include using namespace std;

struct n

a[893758];

int n,m,mid,s,e;

int b[1998760],need[1325999],num[1999200];

bool v(int x)

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

return 1;

}int main()

while(s>1;

if(v(mid)==1)

s=mid+1;

else e=mid;

}cout<<"-1"

}

Noip 2012 借教室 二分 差分

剛看到題的時候秒打了個差分上去,然後發現要輸出第乙個不滿足條件的合同。當時以為這是差分的子任務,就覺得這個東西隨便找找就好了吧,然後就怎麼也找不出來orz 事實證明,差分確實難打方案。後來才知道找訂單才是主要的。需要二分答案來著。因為題目強制給你單調性了 完成訂單的順序必須滿足輸入順序 所以我們可以...

差分 二分答案 NOIP2012 借教室

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

noip2012 借教室 題解

emm,根據題意描述,就是每次區間加乙個數,問是否滿足條件。首先,答案肯定滿足二分性質,之後就是判斷了。說白了就是很多次區間加,然後一次查詢前面各個數。當然,線段樹,樹狀陣列裸題,但是,這樣是nlogn的,過不了呀。要重新考慮。由於只查詢一次,我們可以差分陣列,每次修改是o 1 的,查詢是o n 的...