随笔分类 -  树论——树链剖分

摘要:BZOJ题表(21/139) 阅读全文
posted @ 2019-01-26 11:49 Star_Feel 阅读(677) 评论(0) 推荐(0) 编辑
摘要:【传送门:51nod-1462】 简要题意: 给出一棵n个点的树,每个点有两个权值v,t 有Q个操作,有两种操作: 1.将x到根上的路径上的点的v值都加上d 2.将x到根上的路径上的点的t值都加上每个点的v值*d 最后求出所有点的t值 题解: 显然可以直接树链剖分做,不过lazy标记下放真麻烦,因为 阅读全文
posted @ 2018-10-31 16:01 Star_Feel 阅读(257) 评论(0) 推荐(0) 编辑
摘要:【传送门:BZOJ4196】 简要题意: 有n个软件,每个软件有一个依赖的软件(除了第一个软件),要想安装一个软件就必须要安装它所依赖的软件 有m种操作,有一种是安装某个软件,另一种是删除某个软件,如果删除了一个软件,那么所有直接或间接依赖它的软件都要删除 求出每种操作改变了多少个软件的状态 题解: 阅读全文
posted @ 2018-04-07 21:26 Star_Feel 阅读(159) 评论(0) 推荐(0) 编辑
摘要:【传送门:BZOJ3626】 简要题意: 给出一棵树,设dep[i]为每个点与根节点的距离+1, 有m个询问,每个询问输入l,r,z 求出l<=i<=rdep[LCA(i,z)] 题解: 读题,实际上dep[i]就表示i到根有多少个节点 那么如果要求dep[LCA(i,j)]的话, 阅读全文
posted @ 2018-04-04 16:16 Star_Feel 阅读(138) 评论(0) 推荐(0) 编辑
摘要:【传送门:BZOJ4034】 简要题意: 给出一棵有n个有权节点的树且根节点为1,有m个操作,3种操作: 1 x a将x点的权值增加a 2 x a将x的子树的所有节点增加a 3 x求出x到根节点的路径上的所有点的权值和 题解: 裸树链剖分,只要在处理轻重链的时候记录x子树的最小的编号和最大的编号即可 阅读全文
posted @ 2018-03-29 20:16 Star_Feel 阅读(166) 评论(0) 推荐(0) 编辑
摘要:【传送门:BZOJ2243】 简要题意: 给出一棵无根树,每个节点有颜色,有两种操作: 1.Q a b求出a到b的路径上的颜色段数 2.C a b c将a到b路径上的所有点都变成c的颜色 题解: 树链剖分,很裸 每个区间记录左端点的颜色,右端点的颜色,区间的颜色段数 合并维护区间时,如果左子区间的右 阅读全文
posted @ 2018-03-27 08:56 Star_Feel 阅读(239) 评论(0) 推荐(0) 编辑
摘要:【传送门:BZOJ4551】 简要题意: 给出一棵树,根节点为1,一开始根节点打了标记,给出q个操作,有两种操作: 第一种输入Q x,求出离x最近的打了标记的祖先 第二种输入C x,将x点打标记 题解: 树链剖分水题 首先因为重链上的点的新编号是连续的,所以当我们求离x最近的打了标记的祖先时,就找x 阅读全文
posted @ 2018-03-12 12:57 Star_Feel 阅读(189) 评论(0) 推荐(0) 编辑
摘要:【传送门:BZOJ1103】 简要题意: 给出一棵树,树上的根节点为1,一开始所有的边的边权都为1,给出两种操作: 1.M x求出x点到根节点的边权和 2.A x y表示x到y的这条边的边权变为0 题解: 树链剖分裸题 把题意简要提取之后就变成裸题了。。 没什么好讲 参考代码: 阅读全文
posted @ 2018-03-04 14:38 Star_Feel 阅读(202) 评论(0) 推荐(0) 编辑
摘要:【传送门:BZOJ3676】 简要题意: 给出一棵树,树上的边有权值(可正可负),对这棵树有5种操作: 1.SUM x y求出x点到y点所经过的边权和 2.MAX x y求出x点到y点所经过的边的最大边权 3.MIN x y求出x点到y点所经过的边的最小边权 4.C x y将输入的第x条边的边权改为 阅读全文
posted @ 2018-03-01 13:45 Star_Feel 阅读(158) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示