HDU 2527 Safe Or Unsafe 哈夫曼树
来源:互联网 发布:esp8266单片机程序 编辑:程序博客网 时间:2024/05/01 14:51
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=2527
明天蓝桥杯比赛,看了一下以前做的题目,发现好多都要看下以前写的才能AC,哎。。。。
一道基本的哈夫曼树问题,直接用优先队列模拟。
代码入下:
#include<iostream>#include<vector>#include<list>#include<deque>#include<queue>#include<stack>#include<map>#include<set>#include<algorithm>#include<cstdio>#include<cstdlib>#include<cstring>#include<string>#include<cmath>using namespace std;typedef long long LL;const int N=101000;char s[N];int a[27];struct xh{ int t; friend bool operator<(xh aa,xh bb) { return aa.t>bb.t; }}w;int main(){ int i,j,len,T,sum,n; cin>>T; while(T--) { scanf("%d%s",&n,s); len=strlen(s); memset(a,0,sizeof(a)); for(i=0;i<len;i++) a[s[i]-'a']++; priority_queue<xh> q; len=0; for(i=0;i<26;i++) if(a[i]) { w.t=a[i]; q.push(w); len++; } if(len==1) { sum=q.top().t; } else { int i=0; sum=0; while(i<len-1) { int x=q.top().t; q.pop(); int y=q.top().t; q.pop(); sum+=x+y; w.t=x+y; q.push(w); i++; } } if(sum<=n) printf("yes\n"); else printf("no\n"); } return 0;}
- HDU 2527 Safe Or Unsafe (哈夫曼树)
- HDU 2527 Safe Or Unsafe 哈夫曼树
- 【哈夫曼树】HDU 2527 Safe Or Unsafe
- HDU 2527 Safe Or Unsafe
- hdu 2527 Safe Or Unsafe
- HDU 2527 Safe Or Unsafe
- HDU 2527 Safe Or Unsafe
- hdu 2527 Safe Or Unsafe
- hdu 2527 Safe Or Unsafe(优先队列+哈夫曼树)
- hdu 5.2.8 2527 safe or unsafe
- hdu 2527 Safe Or Unsafe<multiset>
- hdu 2527 Safe Or Unsafe(哈夫曼编码)
- HDU 2527 Safe Or Unsafe 【Huffman编码】
- hdu 2527 Safe Or Unsafe(哈弗曼树)
- hdu 2527 Safe Or Unsafe(霍夫曼树)
- HDU 2527 Safe Or Unsafe(哈夫曼编码)
- HDU 2527 Safe Or Unsafe(哈夫曼编码)
- HDU 2527 Safe Or Unsafe【哈夫曼编码】
- opencv累加一个三通道矩阵的所有元素(结果绝对正确)
- Linux系统调用列表
- linux里面Terminal输入adb之后bash:***adb: No such file or directory
- 明天就考C语言
- 汇编中Enter和Leave指令
- HDU 2527 Safe Or Unsafe 哈夫曼树
- eCos内核API与内核实现的衔接
- hdu 2579 Dating with girls(2)
- vim 学习总结
- Read from socket failed: Connection reset by peer
- eCos的HAL接口采用宏定义形式的优势
- 输入输出遗漏补缺
- 数据库设计
- eCos中的externC和__THROW