洛谷P2311 loidc,想想看

2021-07-24 04:01:01 字數 1272 閱讀 5317

還有一點,loidc有特殊能力,可以預知未來,他可以準確的猜到中國隊在某乙個單位時間內獲得的金牌數。但是,還有但是!由於工作量太大,再加上猜金牌要費很多的體力,所以他無法準確的計算出一段時間內獲得的金牌數最大的單位時間是哪個,就因為這樣loidc很鬱悶。他思索來思索去就想到了你,因為他知道你是個oier,所以他對你呵呵一笑就把問題交給你了,loidc希望你能在1s內得出答案

輸入格式:

第一行乙個n表示有n個時間段。

接下來一行有n個數ai,ai表示loidc猜到的中國隊在第i個時間段內獲得的金牌數。

然後,第三行有乙個數m,表示loidc有個問題。

接下來有m行,每行有2個數分別為xi yi,表示要詢問在時間段[xi,yi]內中國隊獲得金牌數最大的是哪個單位時間。

loidc有乙個習慣,他問問題是有先後的,也就是說後乙個問題總是在前乙個問題之後提出的。

注意對於第i個提問和第i+1個提問嚴格的有xi<=xi+1,yi<=yi+1。

輸出格式:

一共m行,每行乙個ki,表示第i個詢問的答案。

輸入樣例

5

2 3 4 5 6

1 11 2

2 33 4

4 5

輸出樣例
123

45

30%: n<=1000 m<=1000

100%: n<=100000 m<=100000

其他有關輸入輸出均小於maxlongint。

資料保證ai沒有相同的。

雖然詢問的性質看起來是有巧解,但我已經放棄了思考,選擇線段樹qwq

**如下

#include

#include

#include

using

namespace

std;

int num[1010010];

int t[1011000];

struct xd_tree

tree[1010010*4];

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

int mid = ( l + r ) >> 1;

build(p*2,l,mid);

build(p*2+1,mid+1,r);

tree[p].max = max(tree[p*2].max,tree[p*2+1].max);

}int ask(int p,int l,int r)

int main()

洛谷P5049 洛谷P5022 題解 旅行

原題 資料加強版 加強版 參考你谷題解 終於調過了 又是一如既往的申必錯誤 noi plus石錘了 原題的資料允許我們 o n 2 暴力斷邊,但是加強版的資料達到了 n log n 級別,我們必須在斷邊這一環節尋求更好的解法。考慮我們進入環後在何處回溯 根據繼續走環走到的點分類 設當前已經從 b 走...

洛谷練習P2279 P1346

2020年,人類在火星上建立了乙個龐大的基地群,總共有n個基地。起初為了節約材料,人類只修建了n 1條道路來連線這些基地,並且每兩個基地都能夠通過道路到達,所以所有的基地形成了乙個巨大的樹狀結構。如果基地a到基地b至少要經過d條道路的話,我們稱基地a到基地b的距離為d。由於火星上非常乾燥,經常引發火...

洛谷 P1396 營救

題目描述 咚咚咚 查水表!原來是查水表來了,現在 找這麼熱心上門的查表員啊!小明感動的熱淚盈眶,開起了門 媽媽下班回家,街坊鄰居說小明被一群陌生人強行押上了警車!媽媽豐富的經驗告訴她小明被帶到了t區,而自己在s區。該市有m條大道連線n個區,一條大道將兩個區相連線,每個大道有乙個擁擠度。小明的媽媽雖然...