Oj.Nbdp.Net
初赛题库
问题
状态
排名
团队
题解
课程
Login
问题 A: 1、哈夫曼编码
问题 A: 1、哈夫曼编码
警告!
题目
状态
题解(6)
题目描述
哈夫曼编码是一种编码方式,是可变字长编码的一种,由Huffman于1952年提出。该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫Huffman编码。简单地来说,就是出现概率高的字符使用较短的编码,反之出现概率低的则使用较长的编码,这便使编码之后的字符串的平均期望长度降低,从而达到无损压缩数据的目的。 现在请你模拟这样的原则对给定的一个字符串进行字母统计。
输入
输入文件coding.in,只有一行,是一个字符串,由小写英文字母组成,长度不超过255个字符。
输出
输出文件coding.out,有若干行,每行有两部分组成:一个字母和该字母出现的频率,中间用一个空格分隔,并按频率高低排列,频率相同时则按字母的ASCII码的先后顺序排列。
样例输入输出
输入#1
复制
soon
输出#1
复制
o 2 n 1 s 1
提示
发表题解
序号
标题
作者
发表时间
费用
订购数
操作
查看
题目
状态
排名
统计
题目信息
提交
难度
普及/提高-
标签
字符串
点击显示
if ($pr_flag) { ?>
递交数
599
已通过
366
} ;?>
通过率
62%
时间限制
1 秒
内存限制
128 MB
来源
2013宁波小学
收藏
标签云
模拟
数学与数论
动态规划
贪心
字符串
排序
枚举
数组与串
深搜
高精度
循环结构
递推
递归
二分三分
宽搜
背包
质数
线段树
分治
N进制
图论
队列
最短路
堆
树
并查集
栈
状态压缩
分支结构
几何
博弈论
生成树
顺序结构
离散化
hash表
位运算
单调队列
树状数组
KMP
字典树
二分图
数学期望
AC自动机
树链剖分
差分约束
数位动态规划
函数与过程
网络流
单调栈
前缀和