BZOJ 5343 Ctsc2018 混合果汁

2022-04-30 01:33:11 字數 550 閱讀 8441

bzoj_5343_[ctsc2018]混合果汁_二分答案+主席樹

題意:給出每個果汁的**p,美味度d,最多能放的體積l。定義果汁混合後的美味度為果汁的美味度的最小值。

m次詢問,要求花費不大於g,總體積不小於l,求最大美味度,如果不能滿足,輸出-1。

二分答案。然後轉變為求**前l小的果汁之和。

類似任務查詢系統那道題。

權值線段樹維護結點總體積和全部購買的總花費。

按美味度建立主席樹即可。

**:

#include #include #include using namespace std;

typedef long long ll;

#define n 100050

#define inf 100000

struct j

ll query(int l,int r,ll c,int x,int y)

bool check(int x,ll need,ll val)

printf("%d\n",l-1?a[l-1].d:-1);

}}

bzoj5343 混合果汁

二分列舉答案,問題轉化為計算至少取到一定體積,最少是多少,顯然是貪心取最小,用線段樹維護,然後因為要判斷答案,所以可持久化一下即可。1 include2 using namespace std 3 define n 100005 4 define mid l r 1 5 define ll long...

BZOJ5343 混合果汁

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

BZOJ 1919 Ctsc2010 效能優化

題目 題意 給出兩個長度為 n 的整數序列a 0.n 1 b 0.n 1 和非負整數 c 對於兩個長度為 n的整數序列,定義 運算,結果為乙個長度為 n的整數序列,例如f g h 則有h k i j k modn f i g j 求a b b b 每一位模 n 1 的值,其中有 c 個 運算,n 1...