树链剖分
Vectorxj
这个作者很懒,什么都没留下…
展开
-
BZOJ 2588 [可持久化线段树][lca]
Description 给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答u xor lastans和v这两个节点间第K小的点权。其中lastans是上一个询问的答案,初始为0,即第一个询问的u是明文。 Input 第一行两个整数N,M。 第二行有N个整数,其中第i个整数表示点i的权值。 后面N-1行每行两个整数(x,y),表示点x到点y有一条边。 最后M行每原创 2016-12-22 18:44:31 · 507 阅读 · 0 评论 -
BZOJ 4034 [树链剖分][线段树]
如果在一棵树上求两个节点间路径的最大值最小值权值和等等,并且还支持修改某一段路径的权值等等,光靠线段树是不够的,这是就需要树链剖分,将一棵树转化成线段,然后求解。For instance, BZOJ 4034: [HAOI2015]T2 Description 有一棵点数为 N 的树原创 2016-07-05 17:02:31 · 548 阅读 · 0 评论 -
BZOJ4568 [线性基][树链剖分][线段树]
DescriptionDescriptionA 国共有 n 座城市,这些城市由 n-1 条道路相连,使得任意两座城市可以互达,且路径唯一。每座城市都有一个幸运数字,以纪念碑的形式矗立在这座城市的正中心,作为城市的象征。一些旅行者希望游览 A 国。旅行者计划乘飞机降落在 x 号城市,沿着 x 号城市到 y 号城市之间那条唯一的路径游览,最终从 y 城市起飞离开 A 国。在经过每一座城市时,游览者就会有原创 2017-05-01 12:11:02 · 377 阅读 · 0 评论 -
BZOJ 4817 [LCT][线段树][树链剖分]
DescriptionDescriptionBob有一棵nn个点的有根树,其中11号点是根节点。Bob在每个点上涂了颜色,并且每个点上的颜色不同。 定义一条路径的权值是:这条路径上的点(包括起点和终点)共有多少种不同的颜色。 Bob可能会进行这几种操作:1 x1~x:把点xx到根节点的路径上所有的点染上一种没有用过的新颜色。2 x y2~x~y:求x到y的路径的权值。3 x3~x:在以x为原创 2017-09-15 20:15:16 · 402 阅读 · 0 评论 -
[链分治][FWT][树链剖分] BZOJ 4911: [Sdoi2017]切树游戏
SolutionSolutionDP是一个异或卷积的形式,可以FWT把O(128)O(128)的复杂度降下来。 链分治参考immortalCO的博客。 最后还是有些地方00的逆元的问题搞错了。。#include <bits/stdc++.h>using namespace std;const int N = 60303;const int M = 130;const int MOD = 1原创 2017-12-15 18:47:55 · 502 阅读 · 0 评论 -
CC QGRID [分治][树链剖分][Dijkstra]
SolutionSolution%%%%%%%%%PBS 道理上和ZJOI2016旅行者是相似的。 在大佬的带领下终于打掉了这题。。 根据最短路所在分治结构中的位置来建最短路树,并操作询问答案。 自己打的时候真的失了智。刚开始mm和nn都读反了。。后面分治的顺序也搞乱掉了。。 代码能力好垃圾哦。。#include <queue>#include <cstdio>#include <cs原创 2017-09-13 21:35:38 · 338 阅读 · 0 评论 -
[后缀自动机][树上启发式合并] LOJ #6041. 「雅礼集训 2017 Day7」事情的相似度
SolutionSolutionSolutionO(nn−−√logn)O(nnlogn)\mathcal{O}(n\sqrt n\log n)的莫队连500005000050000都过不了qwq。%%%gjghfdgjghfd教我SAM+树上启发式合并的做法。 每两个后缀的贡献会在LCA处统计到。 一个暴力的想法就是枚举LCA,那就只需要考虑子树中的点对。有实际贡献意义的就...原创 2018-03-07 10:23:30 · 498 阅读 · 0 评论 -
[NTT][DP][树链剖分][分治] LOJ #6289. 花朵
SolutionSolutionSolutionfu,0/1,ifu,0/1,if_{u,0/1,i}表示uuu子树中选了iii个点,uuu选不选的答案。 转移显然就是一个卷积的形式。 考虑重链剖分。 先把轻儿子卷到根,这样只需要考虑重链。 再考虑重链上的DP。 考虑头尾选不选gu,0/1,0/1gu,0/1,0/1g_{u,0/1,0/1}。这也是个卷积,可以分治+FFT。#i...原创 2018-03-05 16:48:57 · 884 阅读 · 0 评论