[第1章 1.4e1] Entropy-熵
90 字
1 分钟
[第1章 1.4e1] Entropy-熵
//能按照树构建的顺序计算出ans的确没想到//string类不存在访问到边界以外的位置导致内存错误#include <bits/stdc++.h>#define endl '\n'using namespace std;typedef long long ll;int main(){ string str; while(getline(cin,str)&&str!="END"){ sort(str.begin(),str.end()); priority_queue<ll,vector<ll>,greater<ll>> pq; ll num=1; for(ll i=1;i<=str.size();i++){ if(str[i]!=str[i-1]){ pq.push(num); num=1; }else num++; } ll ans=0; if(pq.size()==1)ans=str.size(); while(pq.size()>1){ ll a=pq.top(); pq.pop(); ll b=pq.top(); pq.pop(); ans+=a+b; pq.push(a+b); } printf("%lld %lld %.1lf\n",str.size()*8,ans,double(str.size())*8/ans); } return 0;}支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
[第1章 1.4e1] Entropy-熵
https://hecloud.top/posts/oi/14e1-entropy-熵/相关文章智能推荐
1
[第2章 2.2e1] Palindromes
算法竞赛2026-06-27
2
[第2章 2.2t1] Subsequence
算法竞赛2026-06-27
3
[第1章 1.2t2] 扫描
算法竞赛2026-06-26
4
[第1章 1.4t8] 荷马史诗
算法竞赛2026-06-26
5
[第1章 1.5t4] 蚯蚓
算法竞赛2026-06-26
随机文章随机推荐





