ARC096D
稍微差分一下,问题可以变成完全背包,但是每个元素的出现次数为 (D),花费为 (m_i'),贡献为 ( extrm{size}(i))。
然后观察一下物品个数和贡献都小于 (50)
但是 D 却是 (10^9)
考虑贪心,我们按照 "性价比" 进行贪心,假设 (frac{w_i}{m_i}ge frac{w_j}{m_j}) 那么我们优先选 (i)
然而直觉/事实告诉我们他是错的,然而略做观察,发现 (w) 很小,假设 (i) 被选了 (w_j) 个,同时 (j) 被选了 (w_i) 个,那么此时我们必然会选 (i) 的 (w_j) 个。
换而言之,在 (i) 被选完之前,(j) 被选至多 (w_i-1) 个。
所以考虑将 (max{w_i}) 设为每个物品的数量上界,多余部分除去直接贪心,这个部分我们 Dp 即可。