京师后人
查看原帖
京师后人
1174292
summ1t楼主2024/11/3 20:27

李超线段树做法,如果你离散化之后各种 WA,请检查一下 INF 是否开的足够大,以及李超线段树上的计算,请用离散化之前的数来计算。

比如 update:

void update(int u,int l,int r,int id){
	int &g=seg[u],mid=(l+r)>>1;
	if(cmp(cal(id,lsh[mid]),cal(g,lsh[mid]))==1) swap(g,id);//lsh[mid],不是mid
	if(cmp(cal(id,lsh[l]),cal(g,lsh[l]))==1) update(u<<1,l,mid,id);
	if(cmp(cal(id,lsh[r]),cal(g,lsh[r]))==1) update(u<<1|1,mid+1,r,id);
}
2024/11/3 20:27
加载中...