ZROI 19.08.03 分治与离线
经典问题,给一张图,支持加边/删边/询问两点连通性。 离线统计边权(删除时间),lct维护最大生成树即可。 也可以按时间分治,维护一个可回退并查集即可。 主定理 很好用,但是记不住。 有一种简明的替代方式:画一棵递归树,考虑层数和每层的节点数(线段树分析.jpg) 分治时递归和处理中心的顺序可以是任意的,可以按照具体情况选择,以 简化复杂度。 快速排序的期望复杂度: \[T(n)=\frac{1}{n}\sum_{i=1}^n[T(i-1)+T(n-i)]+n-1=\frac{2}{n}\sum_{i=0}^{n-1}T(i)+n-1\] \[n\cdot T(n)=2\sum_{i=0}^{n-1}T(i)+n(n-1)\] \[(n-1)\cdot T(n-1)=2\sum_{i=0}^{n-2}T(i)+(n-1)(n-2)\] \[n\cdot T(n)-(n-1)\cdot T(n-1)=2T(n-1)+2(n-1)\] \[n\cdot T(n)=(n+1)T(n-1)+2(n-1)\] \[\frac{T(n)}{n+1}=\frac{T(n-1)}{n}+\frac{2(n-1)}{n(n+1)}\] \[F(n)=\frac{T(n)}{n+1}=\sum_i^n\frac{2(i-1)}{i(i+1)}\leq \sum_i^n \frac{2}{i}=2\ln