description
南京有一條著名的購物街。購物街嘛,就是一排整齊的商店啦~input導遊小z每次都會把遊客團帶到購物街裡走一段,然後選擇乙個商店進去購物。小z接待的遊客都是購物狂,他們恨
不得將店內的商品洗劫一空,也就是說,只要他們能買,就一定會繼續買(錢夠不夠你不用考慮,他們都有信用卡
可以透支)。但是有一點,他們都非常講究平等、很謙虛,每個人都不能忍受比別人多買什麼東西或者少買什麼東
西,於是他們每個人最後買的商品數量都是一樣的。這雖然導致他們沒辦法每次都把商店搬空,但是每次已經給店
家帶來一大筆生意了,店家已經非常感謝了!為了表示感謝,店家決定把遊客們買完之後剩下來那幾件沒賣掉的商
品就送給導遊小z了。貪心的小z自然希望自己能獲贈的商品數量越大越好啦~現在告訴你這一排共n個商店(標號為
0到n-1)每個商店裡的商品總數,每次小z會帶一批共p個遊客的旅遊團,到其中u號商店和v號商店之間逛一逛,請
你幫小z在所逛的商店區間內選擇乙個,告訴小z他最多能獲贈多少件商品。
第一行,包含兩個整數n、m,分別表示商店個數、小z帶來的旅遊團個數。output接下來一行,包含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
共輸出m行,每行乙個整數,第i行輸出第i個旅遊**物後,小z最多能獲贈的商品數量。sample input
5 5sample output2 4 6 8 10
0 1 2
1 4 3
2 4 2
1 1 9
0 4 7
0hint2 0
4
第乙個旅遊團, 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...