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...