wqs二分是一个神奇的东西,经常用来把限制条件转化为二分来降低时间复杂度。
常见类型:在满足A物品选择了k个情况下总价值最大
如果不考虑 选择了k个 这个条件,我们只考虑总价值最大,我们能够得到一个时间复杂度比较优秀的算法。
现在考虑二分一下A物品的额外代价,修改A的代价后重新进行刚才的算法,顺便记录一下价值最大的情况下选择了多少个A。
然后根据选择了多少个A来调整二分边界。
很多时候需要二分到小数,而且需要卡精度, 正确性有的时候还需要多考虑考虑。
wqs二分是一个神奇的东西,经常用来把限制条件转化为二分来降低时间复杂度。
常见类型:在满足A物品选择了k个情况下总价值最大
如果不考虑 选择了k个 这个条件,我们只考虑总价值最大,我们能够得到一个时间复杂度比较优秀的算法。
现在考虑二分一下A物品的额外代价,修改A的代价后重新进行刚才的算法,顺便记录一下价值最大的情况下选择了多少个A。
然后根据选择了多少个A来调整二分边界。
很多时候需要二分到小数,而且需要卡精度, 正确性有的时候还需要多考虑考虑。