题目链接:http://poj.org/problem?id=1521 这里,网上有很多博客都有写,很多人没有建树,直接就是求一下这个哈夫曼编码的长度,的确很巧妙,我也用的这个方法,但是,几乎所有博客都没有解释sum+=a+b;这个的原因.也许是我太菜了吧,脑子转不过来,好久才想通. 比如说B,C,D出现2次,BC组成一个新的节点,4+2=6,组成一个新的节点6,6+A就是结果. 原因是: sum+=2+2; sum+=4+2; sum+=6+5; 理由是,B,C分别编码是3位,这里依次加到了s…