進行 dmo
d360∘
d \bmod 360^
dmod36
0∘,討論一下,發現有四個、兩個、乙個一迴圈。然後預處理前四次操作的答案即可,注意對絕對值的處理。
如果能確定吃哪些餐館,當然就是不回頭依次吃。那麼列舉那個餐館一定吃,在它之前的餐館可能吃也可能不吃,二分一下吃耗時最小的多少個餐館,套個區間前 k
kk 大數的和的線段樹即可。
還有個堆的方法,就是每個餐館能吃就吃,吃了後看看有沒有超限制,如果超過了就彈出堆頂直到滿足限制。
如果確定了乙個陣列表示對哪些牌進行操作,可以證明只要 ∑il
i≤n\sum_i l_i \leq n
∑ili
≤n,那麼一定有方案可以做到。
然後是乙個 01 揹包模板。
問題可以轉換成:有 n
nn 個可重集合,編號為 i
ii 的集合取出前 i
ii 大放入新的可重集合 s
ss,需要動態維護集合的前 n
nn 大的和。
對於多一本書的操作,要確定它需不要要加入 s
ss 中,只要看排名是不是 <
t<
t,如果滿足的話就加入 s
ss 中還要把原來的第 k
kk 大刪掉。
少一本書的操作,看看它的排名是否 <
t<
t,如果滿足就會影響答案,那麼把現在的第 k
kk 大加入 s
ss 中。
你可能需要對每個書櫃維護乙個平衡樹,再對 s
ss 維護乙個平衡樹。但你可以在權值線段樹中同時維護出現次數與區間和,來實現區間前 k
kk 大和單點修改。
20ZR普轉提七連測 Day1
進行 dmo d360 d bmod 360 dmod36 0 討論一下,發現有四個 兩個 乙個一迴圈。然後預處理前四次操作的答案即可,注意對絕對值的處理。如果能確定吃哪些餐館,當然就是不回頭依次吃。那麼列舉那個餐館一定吃,在它之前的餐館可能吃也可能不吃,二分一下吃耗時最小的多少個餐館,套個區間前 ...
ZR 539 19普轉提 4 和 題解
給定乙個數字 n 請問有哪些區間 l,r 使得 sum r i n 請按 l 從小到大的順序輸出所有區間。根據題意我們可以列出方程 frac n 也就是 l r r l 1 n times 2 於是我們可以列舉 n 的因數 x 令 y frac n x 判斷是否有兩數和為 y 差為 x 即可。這裡假...
20ZR暑期聯賽班 Day 3
原題大賽 可以發現,兩個人相遇後都會掉頭走,這意味著每個人位置的相對順序是不變的。那麼運用乙個套路,讓相遇的兩個人穿插而過,那麼現在要求排名為任意值的人的位置。二分套二分即可 結合 link 和 link 可以學到許多與分組有關的 dp 知識。首先要確定關鍵字排序,當然是按 s is i si 排序...