高能预警! 需要前置知识“摊还分析”和“splay”
前置小结论
log x + log y ≤ 2 l o g ( x + y ) − 2 \log x+\log y \le 2log (x+y)-2 logx+logy≤2log(x+y)−2
容易看出这其实与 4 x y ≤ ( x + y ) 2 4xy\le (x+y)^2 4xy≤(x+y)2等价,即与 ( x − y ) 2 ≥ 0 (x-y)^2\ge0 (x−y)2≥0等价。
一些约定
对每个节点 x x x,设其大小为 c ( x ) c(x) c(x)(一个正数,此处取一即可),其子树的大小为 s ( x ) = ∑ u ∈ s u b t r e e ( x ) c ( u ) s(x)=\sum_{u\in subtree(x)}c(u) s(x)=∑u∈subtree(x)c(u),这个节点对势函数的贡献为 ϕ ( x ) = log s ( x ) \phi(x)=\log s(x) ϕ(x)=logs(x)。
定义整棵树的势函数 Φ ( T ) = ∑ x ∈ T ϕ ( x ) \Phi(T)=\sum_{x\in T} \phi(x) Φ(T)=∑x∈Tϕ(x)。显然 Φ ( T ) > 0 \Phi(T)>0 Φ(T)>0。
各种情形下势函数变化量
zig/zag
因为两种情况对称,所以图只画了 z i g zig zig情形
Y X'
X C -> A Y'