博客园 首页 私信博主 显示目录 隐藏目录 管理 动画
摘要: 题目链接 BZOJ 洛谷 详见这. 求所有点到某个点距离和最短,即求树的重心。考虑如何动态维护。 两棵子树合并后的重心一定在两棵树的重心之间那条链上,所以在合并的时候用启发式合并,每合并一个点检查$sz$大的那棵子树的重心(记为$root$)最大子树的$sz*2$是否$>n$; 若$>n$,则向$f 阅读全文
posted @ 2018-03-23 21:15 SovietPower 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 题目链接 BZOJ 洛谷 \(Description\) 树上点有点权(初始为0),边有边权,每次修改一个点的点权,并询问点$x$使$\sum_idis(x,i)*A_i$最小。$dis$只计算边权。 即带修改查询树上带权重心。 \(n,q\leq 10^5\)。 \(Solution\) 依旧点分 阅读全文
posted @ 2018-03-23 15:35 SovietPower 阅读(243) 评论(0) 推荐(1) 编辑
摘要: "题目链接 BZOJ" "洛谷" 对每种颜色维护一个LCT,保存点之间的连接关系。 修改权值A[x]和所有Max[x]都要改; 修改边的颜色先枚举所有颜色,看是否在某种颜色中有边,然后断开。(枚举一遍就行啊 还以为要set什么的存边的颜色) (条件1直接用数组存233) 修改x的颜色必须先把x旋到根 阅读全文
posted @ 2018-03-23 12:34 SovietPower 阅读(129) 评论(0) 推荐(0) 编辑