![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
长链剖分
Freopen
这个作者很懒,什么都没留下…
展开
-
「JOI 2019 Final」独特的城市(长链剖分)
题目发现答案一定在直径上,然后以直径端点为根求出每个点的长儿子,然后dfsdfsdfs一下即可求出每个点的答案。AC Code\mathcal AC \ CodeAC Code#include<bits/stdc++.h>#define maxn 200005#define rep(i,j,k) for(int i=(j),LIM=(k);i<=LIM;i++)#define per(i,j,k) for(int i=(j),LIM=(k);i>=LI原创 2020-06-08 19:47:33 · 345 阅读 · 0 评论 -
LOJ #2206. 「HNOI2014」世界树(虚数,长链剖分O(1)求k级祖先)
题目虚树显然,一次从下到上dpdpdp求子树内能到该点的最优的临时议事处。一次从上到下dpdpdp求子树外能到点uuu的父亲的最优的临时议事处。然后两个加一下除个二,树上找kkk级祖先即可。长链剖分O(1)O(1)O(1)求kkk级祖先:先O(nlogn)O(n\log n )O(nlogn)预处理所有点的2j2^j2j级祖先。再对于每个长链链头,处理链头向上长链长度级的父亲数组...原创 2020-01-04 08:21:00 · 262 阅读 · 0 评论 -
LOJ #3053. 「十二省联考 2019」希望(长链剖分+可回退化后缀修改数组)
题目此题是我做过最难的长链剖分/数据结构题。没有之一。紫荆花之恋也太水了吧,xmy每天没事就写一发紫荆花之恋,wk表示这太简单了,每天没事就该写一发Hope1.出题人所说的52pts52pts52pts暴力分。容易发现对于每一组合法的救援范围,在救援范围内满足条件的点uuu,构成了树上一个连通块。但是这一组范围只能被计算一次。利用树上一个连通块中的点和边满足点数-边数 = 1的性质,...原创 2019-10-12 16:32:27 · 586 阅读 · 0 评论