myee讲的题完全听不懂...... 首先题目让我们求的是长度为\(l~r\)的区间且区间和前k大的区间的权值之和。 首先区间和转化为\((sum[r]-sum[l-1])\)那么我们可以对于每个l都插进一个优先队列,发现l固定,那么只要让sum[r]最大即可。这个利用st表维护l~r的sum的最大值的下标即可。如果我们找到了最大值,那么就可以再找左边和右边的最大值插进优先队列即可。时间和空间都是够的