离散化 + 树状数组 求解所有元素之和不小于k的非空区间数量: 求解前缀和 对前缀和进行排序然后离散化 树状数组维护小于s[i] - k的值的数量 因为树状数组需要查询小于s[i] - k的数量,所以离散化时需要把每个s[i] - k一起排序离散化 add(get(0), 1) 把0首先加入树状数组,因为从开头到某一个元素也可能是一个满足条件的区间 因为s[i] - k也加入离散化,树状数组开到2 * n #pragma GCC optimize(2) #pragma GCC optimize(3) #include "bits/stdc++.h" using namespac...