bzoj5177 主席樹 貪心的導遊

2021-08-17 07:34:44 字數 2203 閱讀 9625

description

南京有一條著名的購物街。購物街嘛,就是一排整齊的商店啦~

導遊小z每次都會把遊客團帶到購物街裡走一段,然後選擇乙個商店進去購物。小z接待的遊客都是購物狂,他們恨

不得將店內的商品洗劫一空,也就是說,只要他們能買,就一定會繼續買(錢夠不夠你不用考慮,他們都有信用卡

可以透支)。但是有一點,他們都非常講究平等、很謙虛,每個人都不能忍受比別人多買什麼東西或者少買什麼東

西,於是他們每個人最後買的商品數量都是一樣的。這雖然導致他們沒辦法每次都把商店搬空,但是每次已經給店

家帶來一大筆生意了,店家已經非常感謝了!為了表示感謝,店家決定把遊客們買完之後剩下來那幾件沒賣掉的商

品就送給導遊小z了。貪心的小z自然希望自己能獲贈的商品數量越大越好啦~現在告訴你這一排共n個商店(標號為

0到n-1)每個商店裡的商品總數,每次小z會帶一批共p個遊客的旅遊團,到其中u號商店和v號商店之間逛一逛,請

你幫小z在所逛的商店區間內選擇乙個,告訴小z他最多能獲贈多少件商品。

input

第一行,包含兩個整數n、m,分別表示商店個數、小z帶來的旅遊團個數。

接下來一行,包含n個整數ai(i=0,1,……,n-1),表示第i個商店的商品總數。

接下來m行,每行三個整數u、v、p(0≤u,v≤n-1,2≤p≤1000)

表示這個旅遊團逛u號商店和v號商店之間的商店(包含u、v),且這個旅遊團的人數為p。 n≤1000000, m≤50000,

0≤ai≤1000, 2≤p≤1000

output

共輸出m行,每行乙個整數,第i行輸出第i個旅遊**物後,小z最多能獲贈的商品數量。

sample input

5 5

2 4 6 8 10

0 1 2

1 4 3

2 4 2

1 1 9

0 4 7

sample output

0

2 0

4

hint

第乙個旅遊團, 2 個人, 0 號商店到 1 號商店的區間。若去 1 號商店,共 2 件商品,每人買 1 件,剩 0 件

。若去 2 號商店,共 4 件商品,每人買 2 件,剩 0 件。所以,小 z 最多獲贈 0 件。

第二個旅遊團, 3 個人,小 z 選擇帶他們去 4 號商店,共 8 件商品,每人買 2 件商品(因為每人 3 件不夠)

,剩下 2 件,小 z 最多獲贈就是 2 件。 可以驗證去其它商店小 z 最多獲贈的商品不會達到 2 件。

題解

一開始想把1~1000的模數全部搞出來然後主席樹logn查詢的結果算一下空間**了

因為a[i],p[i]全部<=1000,所以實際上我們可以列舉p的倍數,在主席樹里暴力查詢小於這個倍數的最大的數,然後用這個數mod p記錄最大答案即可。。

%claris神做法d飛我15s+

upd:你可以特判一下小資料的情況會跑的飛快。。

#include

#include

#include

#include

#include

using namespace std;

struct trnode

tr[21110000];int tot;

int rt[1110000];

void add(int &now,int l,int r,int p)

void merge(int &x,int

y) if(y==0)return ;

tr[x].c+=tr[y].c;

merge(tr[x].lc,tr[y].lc);

merge(tr[x].rc,tr[y].rc);

}int findsum(int

x,int

y,int l,int r,int t)

}int n,m;

int main()

while(m--)

printf("%d\n",ans);

}return

0;}

BZOJ4571 美味(主席樹)

一家餐廳有 n 道菜,編號 1 n 大家對第 i 道菜的評價值為 ai 1 i n 有 m 位顧客,第 i 位顧客的期 望值為 bi,而他的偏好值為 xi 因此,第 i 位顧客認為第 j 道菜的美味度為 bi xor aj xi xor 表示異或 運算。第 i 位顧客希望從這些菜中挑出他認為最美味的...

超級鋼琴(主席樹 貪心 優先佇列)

我能說這是主席樹板子題嘛?題意 給定乙個序列,求長度在l ll與r rr內的前k kk大子串和。思路 既然有子串,肯定要先搞個字首和,離散化之類的 然後我們建好主席樹 而主要的思路在於貪心,我們可以列舉子串的左端點,然後在其合法的右端點中通過主席樹找到最大的右端點 子串滿足字首和關係,每個右端點都會...

SCOI2016 主席樹 貪心 美味

描述 一家餐廳有 n 道菜,編號 1 n 大家對第 i 道菜的評價值為 ai 1 i n a i 1 i n ai 1 i n 有 m 位顧客,第 i 位顧客的期望值為 bi,而他的偏好值為 xi 因此,第 i 位顧客認為第 j 道菜的美味度為 bix or a j xi b i xor a j x...