poj 3253 Fence Repair 题目链接: [http://poj.org/problem?id=3253][db71892b] 思路: 哈夫曼树型贪心 自底向上每次挑选两个最小的数值相加,相加的值从新合并到数组中,继续挑选相加 如果每次都要排序的话会超时.... 代码: c++ inc ...
分类:
其他好文 时间:
2017-11-28 13:24:52
阅读次数:
122
什么是哈夫曼树呢? 结点的带权路径长度:在一棵树中,如果其结点上附带有一个权值,通常把该结点到根的路径长度与该结点上的权值之积称为该结点的带权路径长度 哈夫曼树是一种带权路径长度最短的二叉树,也称为最优二叉树。下面用一幅图来说明。 它们的带权路径长度分别为: 图a: 5*2+7*2+2*2+13*2 ...
分类:
其他好文 时间:
2017-11-24 22:54:49
阅读次数:
162
闲暇的夜晚, 写个哈夫曼树练练笔。 #include<iostream>#include<cstring>#include<cstdlib>#include<algorithm>typedef struct{ char data; int w,parent, lchild, rchild; int ...
分类:
其他好文 时间:
2017-11-21 22:03:24
阅读次数:
96
2017-11-17 一、哈夫曼树 (1)哈夫曼树(最优二叉树),是指权值为w1,w2,....,wn的n个叶结点所构成的二叉树中带权路径长度最小的二叉树。 (2)从树中一个结点到另一个结点之间的分支构成这两个结点之间的路径,路径上的分支数目称做路径长度。 (3)树的路径长度(PL)是从树根到每一个 ...
分类:
其他好文 时间:
2017-11-17 20:02:21
阅读次数:
104
#include #include #include #include using namespace std; struct HT { int weight, parent, l, r, idx; }; bool cmp(HT a, HT b) { return a.weight a, b; ci... ...
分类:
其他好文 时间:
2017-11-11 22:10:29
阅读次数:
154
4198: [Noi2015]荷马史诗 Description 追逐影子的人,自己就是影子。 ——荷马 Allison 最近迷上了文学。她喜欢在一个慵懒的午后,细细地品上一杯卡布奇诺,静静地阅读她爱不释手的《荷马史诗》。但是由《奥德赛》和《伊利亚特》组成的鸿篇巨制《荷马史诗》实在是太长了,Allis ...
分类:
其他好文 时间:
2017-11-09 14:56:51
阅读次数:
190
原文地址 哈夫曼树也叫最优二叉树(哈夫曼树) 问题:什么是哈夫曼树? 例:将学生的百分制成绩转换为五分制成绩:≥90 分: A,80~89分: B,70~79分: C,60~69分: D,<60分: E。 判别树:用于描述分类过程的二叉树。 如果每次输入量都很大,那么应该考虑程序运行的时间 如果学生 ...
分类:
其他好文 时间:
2017-11-02 16:12:51
阅读次数:
224
[Noi2015]荷马史诗 题目 追逐影子的人,自己就是影子。 ——荷马 Allison 最近迷上了文学。她喜欢在一个慵懒的午后,细细地品上一杯卡布奇诺,静静地阅读她爱不释手的《荷马史诗》。但是由《奥德赛》和《伊利亚特》组成的鸿篇巨制《荷马史诗》实在是太长了,Allison 想通过一种编码方式使得它 ...
分类:
其他好文 时间:
2017-10-28 17:49:07
阅读次数:
204
最优二叉树 1.树的路径长度 树的路径长度是从树根到树中每一结点的路径长度之和。在结点数目相同的二叉树中,完全二叉树的路径长度最短。 2.树的带权路径长度(Weighted Path Length of Tree,简记为WPL) 结点的权:在一些应用中,赋予树中结点的一个有某种意义的实数。 结点的带 ...
分类:
其他好文 时间:
2017-10-15 10:57:50
阅读次数:
183
题目大意: 给你一堆权值,求这些权值建成哈夫曼树后的WPL。 思路: 哈夫曼树的WPL等于各非叶子结点权值之和。 所以直接贪心模拟构建哈夫曼树的过程。 先把所有的权值放在一个堆中,然后每次取里面最小的两个数加到答案中,并将他们的和重新放到堆中。 整个过程并不需要把树存下来。 ...
分类:
其他好文 时间:
2017-10-12 15:37:46
阅读次数:
132