你的 `queryway` 改成如下就能 A:
```
node queryway(int l,int r)
{
node L,R;
while(top[l]!=top[r])
{
if(depth[top[l]]<depth[top[r]])
{
R=merge(query(1,seg[top[r]],seg[r]),R);
r=fa[top[r]];
}
else
{
L=merge(query(1,seg[top[l]],seg[l]),L);
l=fa[top[l]];
}
}
if(depth[l]>depth[r]) L=merge(query(1,seg[r],seg[l]),L);
else R=merge(query(1,seg[l],seg[r]),R);
swap(L.lsum,L.rsum);
return merge(L,R);
}
```
by TKXZ133 @ 2023-01-29 18:35:59
@[Super_Sheep](/user/439177) 在 `merge` 时 $L,R$ 应当作右子区间进行合并。
by TKXZ133 @ 2023-01-29 18:36:51
@[TKXZ133](/user/767096)
谢谢大佬,已经过了!!
此帖结。。
by Supor__Shoop @ 2023-01-29 19:33:10