
树链剖分
树链剖分
HOWARLI
自己选择的路,就算跪着也要走完!
展开
-
【JZOJ 4388】染色
Solution咋一眼看过去,那么像动态点分治… 大概想一下代码量,嗯…,不少… 那么来想一下树链剖分怎么打, 设一根节点的距离是c,与根的路径为s, 点x,y之间的距离也就是cx+cy−2∗CLCA(x,y)c_x+c_y-2*C_{LCA(x,y)}, 那么我们只需要动态维护LCA即可, 在一条树链中,点x与所有与根的路径经过这条链的点的LCA和分两个部分:在x原创 2016-06-16 20:33:11 · 1263 阅读 · 0 评论 -
【JZOJ 3397】雨天的尾巴
Description深绘里一直很讨厌雨天。灼热的天气穿透了前半个夏天,后来一场大雨和随之而来的洪水,浇灭了一切。虽然深绘里家乡的小村落对洪水有着顽固的抵抗力,但也倒了几座老房子,几棵老树被连根拔起,以及田地里的粮食被弄得一片狼藉。无奈的深绘里和村民们只好等待救济粮来维生。不过救济粮的发放方式很特别。首先村落里的一共有n 座房屋,并形成一个树状结构。然后救济粮分m 次发放,每次选择两个房屋(x,y)原创 2016-05-24 19:21:57 · 694 阅读 · 0 评论 -
【GDOI 2016 Day1】第四题 疯狂动物城
Description题目自己脑补 抽象题意:求可持久化树链剖分solution一道巨型码农题! 对于每个数,我们要求aj∗i∗(i+1)/2a_j*i*(i+1)/2, 拆一下:aj∗(i+q)∗(i+1+q)a_j*(i+q)*(i+1+q),瞬间可搞, 然后维护一大堆东西即可,Code#include<iostream>#include<cstdlib>#include<cst原创 2016-05-17 19:13:19 · 1220 阅读 · 1 评论 -
【JZOJ 4604】【BZOJ 4551】树
Solution一道树链剖分裸题, 复杂度:O(nlog2(n)2)O(n\log_2(n)^2)Code#include<iostream> #include<cstdio>#include<cstdlib>#define fo(i,a,b) for(int i=a;i<=b;i++)#define efo(i,q) for(int i=A[q];i;i=B[i][原创 2016-07-11 16:52:15 · 641 阅读 · 0 评论 -
【NOIP 2016 提高组】天天爱跑步
DescriptionSolution1设一个点的深度为did_i,巡查的时间为WiW_i, 一个人的路径起点为s,LCA为z,终点为t,总共用时T, 把路径拆成向上和向下两段, 那么,如果这个人上升到点x时他被看到,一定符合:ds=dx+Wxd_s=d_x+W_x, 同样,当他下降时如被点x看到,一定符合:dt−T=dx−Wxd_t-T=d_x-W_x 所以每个点的答案就是子树中的某个值原创 2016-11-30 20:20:50 · 1047 阅读 · 0 评论 -
【NOI2014模拟7.14】Problem A
Description我们有一个树,大小为n。考虑树上的一条路径,如果一个边的两个点都在这路径上,我们称这个边属于这个路径,如果一个边有且只有一个点在这路径上,我们称这个边与这个路径相邻。现在每个边要么是黑色的要么是白色的,一开始所有边都是白色的。我们有3个操作,将某路径反色,将与某路径相邻的所有边反色,求一个路径上黑边的总数。Solution这题肯定是链剖嘛~ 取反简单,把相邻的取反也很简单,原创 2017-04-06 22:00:27 · 678 阅读 · 1 评论 -
【GDSOI 2017】【JZOJ 5107】中学生数据结构题
Description给出一棵带权有根树,要求: 1. 树上的路径区间加 2. 树上路径区间查询和 3. 树上路径整体旋转一位(如:原路径上的权值依次是这样的:1,2,3,4,操作完后变成:4,1,2,3)n<=100000n<=100000 时限:2SSolution这显然是链剖套Splay嘛, 旋转就相当于删掉最后一个,加到前面去,听说LCT更简单复杂度:O(nlog(n))O(n\l原创 2017-05-06 11:42:12 · 704 阅读 · 0 评论 -
【JZOJ 5559】花朵
DescriptionSolution暴力O(n3)O(n3)O(n^3)显然,还可以用NTT优化, 链的做法也简单,先设左/右有没有选,再设选了几个,用分治NTT优化成nlog(n)2nlog(n)2n\log(n)^2 菊花更简单,直接分治NTT,那树怎么做呢? 链剖,长链上的用链的做法,链顶再用菊花的做法合并,复杂度:O(nlog(n)3)O(nlog(n)...原创 2018-03-06 17:10:08 · 343 阅读 · 0 评论