線段樹 買水果

2022-02-04 07:55:27 字數 972 閱讀 2378

水果姐今天心情不錯,來到了水果街。

水果街有n家水果店,呈直線結構,編號為1~n,每家店能買水果也能賣水果,並且同一家店賣與買的**一樣。

學過oi的水果姐迅速發現了乙個賺錢的方法:在某家水果店買乙個水果,再到另外一家店賣出去,賺差價。

就在水果姐竊喜的時候,cgh突然出現,他為了為難水果姐,給出m個問題,每個問題要求水果姐從第x家店出發到第y家店,途中只能選一家店買乙個水果,然後選一家店(可以是同一家店,但不能往回走)賣出去,求每個問題中最多可以賺多少錢。

第一行n,表示有n家店

下來n個正整數,表示每家店乙個蘋果的**。

下來乙個整數m,表示下來有m個詢問。

下來有m行,每行兩個整數x和y,表示從第x家店出發到第y家店。

有m行。

每行對應乙個詢問,乙個整數,表示面對cgh的每次詢問,水果姐最多可以賺到多少錢。

102 8 15 1 10 5 19 19 3 5

46 6

2 82 2

6 30180

140<=蘋果的**<=10^8

1<=n,m<=200000

#include #include #define maxn 200005

using namespace std;

int n,m,v[maxn];

struct fdfdfda[maxn<<2];

void pushup(int x)

void build(int x,int left,int right)

int mid=(left+right)>>1;

build(x<<1,left,mid); build(x<<1|1,mid+1,right);

pushup(x);

}fdfdfd query(int x,int left,int right)

int main()

return 0;

}

買水果 組合公式

描述 今天zz突然想吃水果了,然後他到超市去買水果,現超市有n個不同的水果,zz要買m個水果 m n 那麼zz有多少種買水果的方式?輸入 輸入t組資料 t 100 然後輸入t行,每行輸入兩個數n,m 0 n 2 31 輸出每一行輸出乙個數 保證在0 2 31 樣例輸入 2 4 23 3 樣例輸出 n...

小陽買水果(線段樹維護最大值 樹上二分)

題目鏈結 給n個數 含負數 連續區間和大於0,區間長度最大 題解 預處理字首和並插入到線段樹里維護最大值。列舉字首和,然後在當前 字首和 位置i到n範圍上找離i位置最遠且大於 當前字首和 的字首和。怎麼找最遠呢?線段樹上優先查詢右兒子的區間就可以實現了。include define rep i,a,...

買禮物 鍊錶 線段樹)

在賣禮物的超市中有n個櫃子,每個櫃子裡都擺放了乙個禮物,每個禮物有自己的乙個編號,第i個櫃子裡的禮物編號為ai 茶山牛想給牛牛和牛妹買相同編號的禮物,但禮物有可能在某個時刻被其他人買走,而且櫃子數量太多,因此茶山牛在某個時刻只想知道某乙個櫃子區間是否能買到兩件相同編號的禮物。具體來說,有q次操作,格...