摘要:
题意:给定一棵树,初始边权为零,对其进行以下操作: 1. 把树上a到b的路径上的边权:0变为1,1变为0。 2. 与树上a到b的路径相邻的边(只有一个公共点),把它们的边权:0变为1,1变为0。 3. 查询a到b的路径上的边权和。 思路: 操作1用普通的重链剖分就可以解决。 对于操作2,可以看出,在 阅读全文
摘要:
树链剖分基本操作: 1. 修改第i条边的权值。 2. 对树上一条路径的权值取反(正变负,负变正)。 3. 查询树上一条路径的权值的最大值。 因为要取反,所以要同时维护最大值和最小值。 1 #include<cstdio> 2 #include<cstring> 3 #include<algorith 阅读全文