社区讨论
警示后人(27pts 37pts)
P3384【模板】重链剖分 / 树链剖分参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mjsh5w7z
- 此快照首次捕获于
- 2025/12/30 18:59 2 个月前
- 此快照最后确认于
- 2026/01/02 15:30 2 个月前
-
请取模或取模完整(27 pts)
-
在:
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);
}
中,请不要写为:
CPPif(dep[x]<dep[y]){
swap(x,y);
}
(37 pts)
回复
共 0 条回复,欢迎继续交流。
正在加载回复...