摘要: 题意:边权树链剖分 ,三种操作 1.CHANGE把第i条边的权值改为a 2.NEGATE把第a个点到第b个点的边的权值全部取相反数 3.QUERY求第a个点到第b个点的最大边权。 分析: 这次是没看板子自己默的树链剖分哈哈 意料之中的出现了错误: 1.链式前向星用的不熟,之前都是vector存边的 阅读全文
posted @ 2019-08-04 20:19 易如鱼 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 题意: 给定一棵含n个结点的树和树的边权,共有q次操作,分为两种 0 c :求从位置s到c的距离,然后s变成c 1 a b:把第a条边的权值变为b 边权处理一般有两种方案: 1.化边为点 即将所有的n-1条边上都增加一个节点,点权即边权,再有2n-1个节点的新树上进行点权的树链剖分即可 (一般不用 阅读全文
posted @ 2019-08-04 15:20 易如鱼 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 详解:https://www.cnblogs.com/ivanovcraft/p/9019090.html 树链剖分的本质是序 以尽量走重链为序,使一棵树的结点尽量集中地分解成较少的链,而链作为连续的数据结构是易于维护的 剖分的过程有两遍dfs : dfs1:找出重结点 ,确立各个点的深度 ,这个过 阅读全文
posted @ 2019-08-04 15:03 易如鱼 阅读(208) 评论(0) 推荐(0) 编辑