摘要:
显然,暴力求解的复杂度是无法承受的。 考虑这样的一种暴力,我们把 z 到根上的点全部打标记,对于 l 到 r 之间的点,向上搜索到第一个有标记的点求出它的深度统计答案。观察到,深度其实就是上面有几个已标记了的点(包括自身)。所以,我们不妨把 z 到根的路径上的点全部 +1,对于 l 到 r 之间的点 阅读全文
摘要:
1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 const long long N=100010; 8 long long cnt,head[N]; 9 long long size[N],fa[N],ff[N][30],son[N],dep[N... 阅读全文
摘要:
题意 给棵n个点的树。边有边权然后有三种操作 1、CHANGE i v 将编号为i的边权变为v 2、NEGATE a b 将a到b的所有边权变为相反数。 3、QUERY a b 查询a b路径的最大边权。 (n,q<=10000) 题解 树剖裸题。 边权下放。线段树记录最大值最小值即可。 阅读全文
摘要:
题意 给一个只有1和2的序列,每次询问有没有一个子串的和为x ( 1≤n,m≤1 000 000 )kkk ( 1≤k≤2 000 000 ) 题解 我觉得是道好题。 主要是证明一个性质:假如有一个字串的和为偶(奇)数,那么小于这个偶(奇)数的所有偶(奇)数一定等于这个串的某个字串的和。 我们考虑这 阅读全文