社区讨论

是数据过水还是我的问题(大抵是我的问题)

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

讨论操作

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

当前回复
3 条
当前快照
1 份
快照标识符
@m4fq51ka
此快照首次捕获于
2024/12/08 22:53
去年
此快照最后确认于
2024/12/08 23:23
去年
查看原帖
CPP
inline int psum(int u,int v){
    int res=0;
    while(top[u]!=top[v]){
        if(dep[top[u]]<dep[top[v]]) swap(u,v);				 
        res+=query(dfn[u],dfn[top[u]],1,n,1);
        res%=mod;
    	u=fa[top[u]];
    }
    if(dep[u]>dep[v]) swap(u,v);
    res+=query(dfn[u],dfn[v],1,n,1);
    res%=mod;
    return res;
}
这是我的路径求和的代码,第五行 dfn[u] 和 dfn[top[u]] 写反了,但是却 AC 了。
是我对树剖的理解不透彻吗?求解答。
(还是说是数据过水)

回复

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

正在加载回复...