- 2024-09-20P3224 [HNOI2012] 永无乡
题意思路用并查集维护连通性,每个集合维护一个平衡树,每次合并两个集合的时候,将一个平衡树的节点一个一个加入到另一个中。这么做不会超时,每次将小的平衡树拆掉放到大的中,可以证明不会超过\(O(\logn)\)次。总时间复杂度\(O(n\log^2n)\)。代码#include<bits/stdc++.h
- 2024-08-30永无乡
考虑在线维护,显然用并查集。对每一个集合都维护一个Splay(或其他平衡树),然后直接查询就好了;所以现在的任务就是合并两个Splay。如果满足一个Splay的最大值小于另一个Splay的最小值,那么是可以快速合并的;但是这里显然不满足,所以只能用启发式合并,对于较小的Splay,遍历其每个节点,然后将每
- 2024-08-13P3224[HNOI2012]永无乡
P3224[HNOI2012]永无乡(超详细!)居然没有人写平板电视库的题解(pbdsyyds)不了解pbds库的可以去看oiwiki或者上网学习。题目大意给定一个无向图,询问\(x\)所在连通块排名第\(y\)的点,且带加边修改。刚开始每个点属于一个连通块,\(m\)条边可以看做\(m\)个加边的操作。思
- 2023-09-13佛祖保佑 永无bug 永不宕机
_ooOoo_o8888888o88"."88(|-_-|)O\=/O____/`---'\____.'\\||//`./\\|||:|||//\
- 2023-07-07佛祖保佑,永无bug
fozu(){return["_ooOoo_","o8888888o","88\".\"88","(|-_-|)","O\\=/O",&
- 2023-01-04永无乡
永无乡原题链接(acwing)可持久化线段树合并与查询(权值的划分)线段树的合并与查询加上并查集的访问根结点创建线段树的时候,每一个点对应为一条链式结构,且创建好线段树后,它
- 2022-10-31【XSY4375】永无乡(二元GF)
以下“二叉树”均默认为有根无标号但区分左右儿子的二叉树。设\(h_{n,k}\)表示\(n,k\)的答案,有:\[h_{n,k}=\sum_{i=0}^{n-1}\left(h_{i,k}\cdotf_{n-i-1}+f_{i}\cd