社区讨论

警示后人(27pts 37pts)

P3384【模板】重链剖分 / 树链剖分参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@mjsh5w7z
此快照首次捕获于
2025/12/30 18:59
2 个月前
此快照最后确认于
2026/01/02 15:30
2 个月前
查看原帖
  1. 请取模或取模完整(27 pts)
  2. 在:
CPP
int qrylist(int x,int y){
	int ans=0;
	while(tp[x]!=tp[y]){
		if(dep[tp[x]]<dep[tp[y]]){
			swap(x,y);
		}
		ans+=tr.qry(1,dfn[tp[x]],dfn[x],1,n);
		x=fa[tp[x]];
	}
	if(dfn[x]>dfn[y]){
		swap(x,y);
	}
	ans+=tr.qry(1,dfn[x]+1,dfn[y],1,n);
	return ans;
}
void modilist(int x,int y,int z){
	while(tp[x]!=tp[y]){
		if(dep[tp[x]]<dep[tp[y]]){
			swap(x,y);
		}
		tr.modify(1,dfn[tp[x]],dfn[x],1,n,z);
		x=fa[tp[x]];
	}
	if(dfn[x]>dfn[y]){
		swap(x,y);
	}
	tr.modify(1,dfn[x]+1,dfn[y],1,n,z);
}
中,请不要写为:
CPP
if(dep[x]<dep[y]){
    swap(x,y);
}
(37 pts)

回复

0 条回复,欢迎继续交流。

正在加载回复...