不是tlqtj
检查一下你倍增的边界,如果你的写法和我差不多(代码放下面)。一定要保证你的插入了一个“哨兵”任何点的nxt跳过他都能“跳过头“,不然会一直累加。具体我放一下代码方便理解
这里是二分
for(int j=20;j>=0;j--) if(P[go[now][j]].r<P[i].l+m) an[P[i].id]|=(1ll<<j),now=go[now][j];
这里是哨兵
sort(P+1,P+N+1,cmp); P[++N]=pq(1,m+m,0,0);//这里要加上