额这个题么
有一个很关键的点:结点个数依然为2N-1(证明可以看sam的讲稿)
不难发现以下性质:区间定位个数+区间所覆盖的节点个数=2*区间长度
所以问题变为,一个区间覆盖了多少个节点?
我们可以求出所有的节点,然后这个问题就是一个二维偏序计数问题了
具体用离线+按照r排序套上树状数组即可
#include#include using namespace std;inline int c(int x){ return x&-x; }struct E{ int l,r,k,a; } s[100010];struct P{ int l,r; } w[200010];inline bool c1(P a,P b){ return a.r