随笔分类 - 数据结构->树链剖分
摘要:LOJ 3088. 「GXOI / GZOI2019」旧词 不懂啊5e4感觉有点小 就是离线询问,在每个x上挂上y的询问 然后树剖,每个节点维护轻儿子中已经被加入的点的个数个数乘上$dep[u]^{k}$ 新加一个点进去只会经过$\log n$条轻边只会更新$\log n$个节点 然后再维护一下每个
        阅读全文
                
摘要:LOJ 3014. 「JOI 2019 Final」独特的城市(长链剖分) 显然我们画一条直径,容易发现被统计的只可能是直径某个距离较远的端点到这个点的路径上的值 用一个栈统计可以被统计的点,然后我们把这棵树长链剖分,每次在所有轻儿子中找深度最大的,去掉距离u小于这个深度的栈里的点,然后去计算u的重
        阅读全文
                
摘要:题解 老年选手的代码康复计划QAQ 这题又没一遍A,难受 每个节点维护这个节点子树内联通块的大小 维护所有节点轻儿子的$g[u][0]$表示所有轻儿子白色的联通块总数 $g[u][1]$表示所有轻儿子黑色联通块总数 更新一个点为新颜色的时候,是$g[u][c[u] ^ 1] + 1$再加上重儿子价值
        阅读全文
                
摘要:题解 给你一棵基环树,环长为奇数(两点间最短路径只有一条) 维护两点间路径最大子段和,支持把一条路径上的值取反 显然只要断开一条边维护树上的值,然后对于那条边分类讨论就好了 维护树上的值可以通过树链剖分,然后对于左右附加一个值和区间跑最大子段和 把变量名打错了orz,死亡 代码
        阅读全文
                
摘要:题解 这道题维护方法比较简单,也有点奇妙 我们可以很容易求出经过所有点的路径条数,和初始时分子的大小 然后单点修改的时候,相当于给当前点$v$加上$delta (siz[v] 1)$ $v$到根的路径上每个祖先都要加上设$t$为$k$在路径上的儿子,$delta (siz[k] siz[t])$ 如
        阅读全文
                
摘要:题解 把所有的数组一开始就FWT好然后再IFWT回去可以减小常数 从13s跑到0.7s…… 可以参照immortalCO的论文,感受一下毒瘤的动态动态DP 就是用数据结构维护线性递推的矩阵的乘积 由于所有轻儿子$F(z) + z^{0}$的乘积做除法太麻烦,我们用一个线段树维护每个点所有的轻儿子即可
        阅读全文
                
摘要:题解 看错题了,以为单次修改相当于一个覆盖,后来才明白“添加”…… 就相当于添加很多线段求最小值 首先这个等差数列添加的方式比较烦人,我们拆开两条链,一条s到lca,一条lca到t 那么s到lca上的点x值就是$ A dis[x] + A dis[s] + B$ lca到t上的点x值就是$A dis
        阅读全文
                
摘要:题解 连树剖我都写跪一次,我现在怎么那么老年啊= = 简直滚粗预定了啊。。 我们线段树维护树剖只需要资瓷区间覆盖和区间求和就好了 安装的时候看看自己到根有多少包装了,dep减去这个数量就好 卸载的时候看看子树里有多少包安装了就行 代码 cpp include // define ivorysi de
        阅读全文
                
摘要:题解 我当时连$n^2$的树背包都搞不明白,这道题稳稳的爆零啊= = 然后听说这道题需要FFT……我当时FFT的板子都敲不对,然后这道题就扔了 然后,我去考了thusc……好吧,令人不愉快的经历,听说我要是把这道题做了我大概就能A了D2T2……生无可恋.jpg 还有一个月,加油吧,NOI2018可能
        阅读全文
                
摘要:题解 在冬令营上听到冬眠的东西,现在都是板子了猫锟真的是好毒瘤啊(雾) (立个flag,我去thusc之前要把WC2018T1乱搞过去= =) 好的,我们可以参考猫锟的动态动态dp的课件,然后你发现你什么都看不懂(菜啊 但是我们仔细看一看,可以发现用数据结构维护矩阵,那么我们尝试构造一个矩阵 $\b
        阅读全文
                
摘要:题解 当年LN还是有专门的省选题的,但是还不如没有 看到这道题,我就想到了一个清晰易懂,简单好写,代码优美的树链剖分线段树套主席树的$O(q\log^{3}n)$做法,且就5组数据出题人肯定是不会出题树剖卡不到上限…… 但是我太菜了,我并不想实现这个算法……然后看了看一个神奇的$O(n \log^{
        阅读全文
                
摘要:1036: [ZJOI2008]树的统计Count Description 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点
        阅读全文
                
 
                     
                    
                 
                    
                
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号