bzoj5343 混合果汁

2022-06-07 22:27:10 字數 880 閱讀 8820

二分列舉答案,問題轉化為計算至少取到一定體積,**最少是多少,顯然是貪心取最小,用線段樹維護,然後因為要判斷答案,所以可持久化一下即可。

1 #include2

using

namespace

std;

3#define n 100005

4#define mid (l+r>>1)

5#define ll long long

6struct

ji11

}a[n];

12int v,n,m,r[n],ls[n*20],rs[n*20

];13 ll x,y,sz[n*20],f[n*20

];14

void update(int k1,int &k2,int l,int r,int x,int

y)21 ls[k2]=ls[k1];

22 rs[k2]=rs[k1];

23if (x<=mid)update(ls[k1],ls[k2],l,mid,x,y);

24else update(rs[k1],rs[k2],mid+1

,r,x,y);

25 sz[k2]=sz[ls[k2]]+sz[rs[k2]];

26 f[k2]=f[ls[k2]]+f[rs[k2]];27}

28 ll query(int k,int l,int

r,ll x)

33int

main()

44int l=1,rr=n;

45while (l

50 printf("

%d\n

",a[l].d);51}

52 }

view code

BZOJ5343 混合果汁

傳送門 這種最大值裡面的最小值問題顯然考慮二分233 現在二分出乙個美味度之後 問題就是大於這個美味度的所有值裡面取出前l個 最小的和能不能 g 這個主席樹維護一下就行了 include using namespace std int cnt,lson 5000005 rson 5000005 n,...

BZOJ 5343 Ctsc2018 混合果汁

bzoj 5343 ctsc2018 混合果汁 二分答案 主席樹 題意 給出每個果汁的 p,美味度d,最多能放的體積l。定義果汁混合後的美味度為果汁的美味度的最小值。m次詢問,要求花費不大於g,總體積不小於l,求最大美味度,如果不能滿足,輸出 1。二分答案。然後轉變為求 前l小的果汁之和。類似任務查...

CTSC2018 混合果汁

為何要用整體二分,整體二分應該怎樣二分,和 poi2011 met meteors十分相像,這裡就不再重複。那麼對於乙個顧客來講,如果當前的區間總份數小於他想要的份數,或者是區間最小 大於他能接受的最大 就把該顧客劃分到右區間,如若滿足則劃分到左區間。想要和 poi2011 met meteors一...