树链剖分
文章平均质量分 81
x_1023
这个作者很懒,什么都没留下…
展开
-
BZOJ 3626 [LNOI2014]LCA - 树链剖分+线段树结构+玄学离散
考察内容:树链剖分+线段树 题意:给定一棵树,对于每一个l,r,z,求Σ(l 规模:n,q 分析: 1.首先考虑到倍增lca,很明显时间复杂度不允许其次考虑离线Tarjan,时间复杂度可以满足,然而会MLE 2.看到所求的值存在巨大的重复之处,考虑到莫队算法,然而不会,根号复杂度不允许,所以进行玄学离散,利用一棵查询树进行查询 3.方法只剩下了lct O(nlogn原创 2017-08-14 00:28:29 · 245 阅读 · 1 评论 -
BZOJ 4034 [HAOI2015]树上操作 - 树链剖分
大概是一道裸题。注意处理给所有子树add时可以采用给入时间和出时间的区域线段树统一加add的方法,因为子树包含且仅包含在这一段区域内。 #include #include #include #include #include using namespace std; const int maxn=100005; struct edge { int to,next; }原创 2017-09-08 23:06:46 · 651 阅读 · 0 评论 -
BZOJ 4196 [Noi2015]软件包管理器 - 树链剖分
NOI怎么会出现这么裸的题。。。 然而树剖写挂了这件事绝对不能忍。。。 #include #include #include #include #include using namespace std; const int maxn=100010; struct tree { int val,set; }t[maxn<<2]; struct edge { int to,nex原创 2017-09-25 22:24:57 · 157 阅读 · 0 评论