社区讨论
警钟撅烂
P7735[NOI2021] 轻重边参与者 5已保存回复 8
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 8 条
- 当前快照
- 1 份
- 快照标识符
- @lqeuvgro
- 此快照首次捕获于
- 2023/12/21 15:02 2 年前
- 此快照最后确认于
- 2023/12/21 18:54 2 年前
查询的时候两条链的初值的
CPPpre 和 suf 不要赋成 114514 !!!!要赋成一个大于 2n 的数!!!inline int pathquery(int u1,int u2){
tree res1={0,20120712,20120712,0},res2={0,20120712,20120712,0};
while(top[u1]!=top[u2]){
if(dep[top[u1]]>dep[top[u2]]){
res1=merge(query(1,1,n,dfn[top[u1]],dfn[u1]),res1);
u1=fa[top[u1]];
}
else{
res2=merge(query(1,1,n,dfn[top[u2]],dfn[u2]),res2);
u2=fa[top[u2]];
}
}
if(dfn[u1]<dfn[u2])res2=merge(query(1,1,n,dfn[u1],dfn[u2]),res2);
else res1=merge(query(1,1,n,dfn[u2],dfn[u1]),res1);
return res1.sum+res2.sum+(res1.pre==res2.pre);
}
回复
共 8 条回复,欢迎继续交流。
正在加载回复...