一个小证明

这两天再看这题HDU4603,我可能会用到将一颗树中的每个节点的子树权重进行排序,因此就出现了这么个复杂度分析的问题,

已知sum{n_i}=n,求解sum{n_i * log(n_i)}的复杂度,

先手试了几个拆解,将n拆成1份,n份,或是n/2,n/4,n/8...这样拆解下去,最后的复杂度都是低于nlogn的,

记sum{n_i * log(n_i)}为S,

可得到exp(S)=mul{exp{n_i * log(n_i)}}=mul{n_i ^ n_i}<=mul{n ^ n_i}=n ^ sum{n_i}=n^n,

两边再同取log,可得到S=nlogn,

因此可得到上面这种排序操作的复杂度不高于nlogn。

原文地址:https://www.cnblogs.com/litstrong/p/3223324.html