hdu 2527 Safe Or Unsafe(优先队列+哈夫曼树)
2013-07-09 19:51
645 查看
感觉优先队列和哈夫曼树我学的都让人挺伤感的。
看到有人直接用优先队列来模拟哈夫曼树的构造过程,太有创意了!
看到有人直接用优先队列来模拟哈夫曼树的构造过程,太有创意了!
#include<stdio.h> #include<string.h> #include<queue> using namespace std; struct node { int t; friend bool operator<(node aa,node bb) { return aa.t>bb.t; } }; int main() { char s[10005]; int a[30]; int i,ln; int T; scanf("%d",&T); while(T--) { int n; scanf("%d",&n); getchar(); gets(s); ln=strlen(s); memset(a,0,sizeof(a)); for(i=0;i<ln;i++) a[s[i]-'a'+1]++; priority_queue<node>q; node cur; ln=0; for(i=1;i<=26;i++) { if(a[i]) { cur.t=a[i]; q.push(cur); ln++; } } int sum; sum=0; if(ln==1) { cur=q.top(); sum+=cur.t; } else { i=0; while(i<ln-1) { i++; int x,y; x=q.top().t; q.pop(); y=q.top().t; q.pop(); cur.t=x+y; sum+=x+y; q.push(cur); } } if(sum>n) printf("no\n"); else printf("yes\n"); } return 0; }
相关文章推荐
- hdu 2527:Safe Or Unsafe(数据结构,哈夫曼树,求WPL)
- HDU 2527 Safe Or Unsafe (哈夫曼树)
- 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<multiset>
- 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 2527 Safe Or Unsafe【哈夫曼编码】
- hdu 5.2.8 2527 safe or unsafe
- hdoj-【2527 Safe Or Unsafe】