- 2024-11-02并查集
种类并查集P2024[NOI2001]食物链类似于超级源点,把\(x+n\)丢进集合里,相当于\(x\)对这个集合作了标记,方便维护细节注意\(x\toy\),对于\(y\toz\),会有\(z\tox\)这里会出现自己和自己连边的情况,用\(fa[rt]=0\)的写法需要特判P6008[USACO20JAN]CavePaintingsP主要考察思
- 2024-07-14树链剖分
引言第一次接触树链/重链剖分的时候还是学习\(Lca\),没系统性的看过剖分,今天刚重新学习了一下,还是比较神奇的,没想到一个树形结构能有这么多种神奇的操作,总的来说,树链剖分还是比较重要的一个策略正文定义先给出图示首先我们给出以下几个定义:重儿子,对于一个
- 2024-06-22P9999 [Ynoi2000] tmostnrq 题解
巨大难写题。就这样一个毒瘤的题,还有人把时空缩小成二分之一放在模拟赛,太好笑了。思路首先将询问离线。我们在\(l_i\)处加入这个点,在\(r_i\)处查询这个点在哪里。那么我们就需要有一个数据结构支持让所有树上的节点一起动。考虑所有点往\(x\)处动。那么对于在\(1\si
- 2024-05-09AGC005D ~K Perm Counting
Statement:若一个有\(n\)个元素的排列\(P\)满足对于任意\(i(1\len\len)\)都有\(|P_i-i|\nek\),则这个排列是合法的。现给定\(n,k\),问有多少个合法的排列。Solution:神仙题啊。考虑容斥。钦定有\(i\)个位置不满足条件,即满足\(|P_i-i|=k\)。这里有一步
- 2023-08-22『复习笔记』树链剖分(重链剖分)
前言(事出必有因)今天模拟赛有一道线段树+LCA的题,考场上码了两个小时,结果pushup错了,结果线段树调完了,发现TLE了,原来是求LCA炸了。。因为我用的倍增(我就是倍增狗你能把我怎么样),但是倍增的一个重要问题就是log都跑满了,但是树剖跑不满log,别问我为什么不用Tarjan,因为这题是在线的不好
- 2023-08-08树链剖分
目录树链剖分相关资料例题求最近公共祖先树链剖分基础概念重儿子:父节点的所有儿子中子树节点数目最多的节点轻儿子:父节点除重儿子以外的节点重边:父节点和重儿子连成的边轻边:父节点和轻儿子连成的边重链:由多条重边连接而成的路径如下图,绿色边即为重边性质1.整棵树会被剖