摘要: 斜堆是一种可并堆。 我们需要维护可并堆森林,因此用并查集维护每个节点所属可并堆的根。 为了防止权值相同的情况,我们以编号作为偏序关系的第二关键字。 ###merge merge实现合并两棵斜堆。 假如我们要合并的两个斜堆根是$u,v$,不妨设$val_u<val_v$。 然后递归合并$u$的右儿子和 阅读全文
posted @ 2020-01-07 22:39 Shiina_Mashiro 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 通道 "Luogu" "LOJ" "UOJ" 先在第一棵树上跑边分治。 (边分治大概就是先多叉树转二叉树然后跟点分治差不多的过程。为了标记反向边需要用前向星存图,比较麻烦。) 假设当前选的边是$(u,v)$,那么$(a,b)$(默认$a,b$分别和$u,v$在同一个连通块)的贡献就是$w(u,v)+ 阅读全文
posted @ 2020-01-07 11:08 Shiina_Mashiro 阅读(197) 评论(0) 推荐(0) 编辑