洛谷聪明的质监员【JAVA实现】
题面
分析
二分+前缀和优化求解
二分
可以看出来,W越大,被选上的矿石越少,则对应的Y值越小。
即随着W的增大,Y值减小。 这就单调性我们可以在二分过程中求解与s相差最小的Y值,
前缀和
在计算Y值时需要操作区间和,通过前缀和可以优化时间复杂度。
设L[i],R[i]为需要操作区间的左右端点。pren[i]为0到第i个被选中的矿石数量,
prev[i]为到第i个为止被选中的 矿石的总价值。
则Yj=(pren[R[j]]-pren[L[j]-1])*(prev[R[j]]-prev[L[j]-1])
原创
2020-05-29 22:36:42 ·
194 阅读 ·
0 评论