WQS 二分 / 带权二分
有趣的一个 trick ,在选取 \(k\) 个物品的限制下,求最大 / 最小值。
令选的物品个数 \(cnt\) 为 \(x\),以及对应的答案为 \(f(x)\)。发现函数图像是有凸性的。
也就是我们每次多选取一个物品时的收益是单调的,对应到图像上也就是斜率单调。
譬如 P2619 [国家集训队] Tree I ,可以感性理解为,白边少是影响收益的限制,选多了也是限制。
由于这个图像的斜率具有单调性,所以我们可以二分切线的斜率。
\[y = b + kx
\]
我们知道 \(x\),知道 \(k\),那么如何求出 \(b\) 呢,移一下项:
\[b = y - kx
\]
发现 \(b\) 是具有一定意义的,具体为我们每选一条白色边,就对应再添上一个 \(-k\) 的代价,二分时计算一下,最后带回式子就做完了。

浙公网安备 33010602011771号