线段树的好朋友,平衡复杂度的好帮手——多叉堆
多叉堆,和 另外一个 是好兄弟,在某些 dijkstra 中用于阳间地平衡复杂度。
本质上是控制堆的高度,用一个 \(V^{\frac 1 k}\) 叉树来维护堆,当元素的值减小时只需要 \(O(k)\),弹出最小值也只需要 \(O(k + V^{\frac{1}{k}})\),当 \(k\) 取 \(\ge 2\) 的常数(根据题目来)就可以用于平衡复杂度了。
但是我不是很会写这个,放个
code from Glacia_official

code from ppip(fibonacci)

 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号