zoj1117 - Entropy(贪心)
来源:互联网 发布:浙江大学软件学院邮编 编辑:程序博客网 时间:2024/06/07 10:01
哈夫曼编码,
利用STL中的优先队列使得代码较为简单,
代码如下:
#include <cstdio>#include <queue>#include <cstring>using namespace std;#define M 256struct node{ int w; bool operator < (const node &a)const{ return w>a.w; }};node temp;int ans, c[M];priority_queue<node>q;int main (){ char str[500]; while(scanf("%s", str)) { if(!strcmp(str,"END")) break; int len = strlen(str); for(int i = 0; i < len; i++) c[str[i]]++; for(int i = 0; i < M; i++) if(c[i]) { temp.w = c[i]; q.push(temp); c[i] = 0; } ans = 0; while(q.size()>1) { int a = q.top().w; q.pop(); int b = q.top().w; q.pop(); temp.w = a+b; ans+=temp.w; q.push(temp); } if(ans==0) ans = len;//特判字符串的长度为1的情况 printf("%d %d %.1lf\n",8*len, ans, 8.0*len/ans); while(!q.empty()) q.pop(); } return 0;}
- zoj1117 - Entropy(贪心)
- zoj1117 Entropy
- ZOJ1117 POJ1521 HDU1053 Entropy,哈夫曼编码问题
- HDU1053,POJ1521,ZOJ1117 Entropy 哈夫曼编码
- 贪心算法之Entropy
- HDU 1053 Entropy(贪心)
- POJ 1521-Entropy 贪心问题
- 贪心1003 POJ 1521-Entropy
- UVALive 2088 Entropy (贪心 + 哈夫曼编码)
- 1053 Entropy 哈弗曼编码 贪心算法
- Entropy
- Entropy
- Entropy
- Entropy
- ZOJ1117 POJ1521 HDU1053 Huffman编码
- 熵 (Entropy)
- 熵 (Entropy)
- 1521 Entropy
- 数组排序
- mssql下创建ORACLE链接服务器,以便mssql远程访问oracle中数据
- 笔记OCP
- USACO Section 1.3.2 Barn Repair
- Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器
- zoj1117 - Entropy(贪心)
- Linux jvm 分析
- Xwork 攻击链接
- C# 怎样截取系统向应用程序发送的消息
- 常见正则表达式总结
- 开漏输出和推挽输出
- 542 - France '98
- 银行业务调度系统
- flash安全策略