2019杭电多校第二场6009(树状数组)
题面在这里题意是在前m个数中删去m-1中的一些数字总和小于给定值,问最少删除多少个数字。很容易想到每一次删除前m-1个数中最大的数字直到之和小于给定值就是答案,这个方法虽然可行但是明显是个暴力复杂度太高,那么换个思路每一次加上前面的最小值,这里还是比较大,那么离散化以后使用树状数组呢?考虑到树状数组的单调性,每一次二分一个数字n去树状数组求和表示前n小的数字之和直到和为给定值的小于等于的第一个...