摘抄自 styx的博客
假如初始所有的线段树点数总和为 N N N 。因为只要合并两个节点,节点总个数就会少掉一个,所以复杂度应该是 O ( N ) O(N) O(N) 的。
所以不是所有情况下的线段树合并都是 O ( n log n ) O(n \log n) O(nlogn) 的。
一般情况下我们只会对每个节点开动态开一条链,所以 N = n log n N=n\log n N=nlogn ,复杂度才会是 O ( n log n ) O(n \log n) O(nlogn) 。