摘要:
[JLOI2014]松鼠的新家 T22 D71 [ JLOI2014]松鼠的新家 思路 树剖。 遍历数组,将数组中相邻节点的路径权值+1。 输出答案时线段树单点询问 #include<bits/stdc++.h> #define ll long long #define pii pair<int,i 阅读全文
摘要:
软件包管理器 T21 D71 软件包管理器 思路 树剖+线段树 每次in操作询问此节点到根节点路径权值和,再把路径节点权值全部变为1 un操作询问当前节点子树权值和,再把子树权值变为0 #include<bits/stdc++.h> #define ll long long #define pii 阅读全文
摘要:
树上路径 T20 D71 树上路径 思路: \((a+b+c)^2=a^2+b^2+c^2+2ab+2ac+2bc\) 那么 \(ab+bc+ac=((a+b+c)^2-(a^2+b^2+c^2))/2\) 线段树维护 $a+b+c$和 \(a^2+b^2+c^2\) 假设一个含a,b,c的区间+t 阅读全文
摘要:
[HAOI2015]树上操作 T19 D71 [HAOI2015]树上操作 树剖模板题 #include<bits/stdc++.h> #define ll long long #define pii pair<int,int> #define fi first #define se second 阅读全文
摘要:
[LNOI2014]LCA T18 D71 [ LNOI2014]LCA 树剖+前缀和思维 思路: lca(i,z)的深度就是i相当于i到根节点的路径上权值加1,z到根节点的路径上的权值和 对于 l<=i<=r ,将所有的i到根节点路径权值加1,考虑前缀和,那么答案就是ans[r]-ans[ 阅读全文