[第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/14e1-entropy-熵/
作者
贺小云
发布于
2026-06-26
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
贺小云
一个热爱技术与折腾的博客,serverless起高楼,静态构建一键走,专注于CDN调优,2秒之内到德州。
公告
欢迎来到我的博客!这是一则示例公告。
分类
标签
碎碎念
站点统计
文章
46
分类
4
标签
0
总字数
23,903
运行时长
0
最后活动
0 天前
站点信息
构建平台
Netlify CI
博客版本
Firefly v6.16.5
文章许可
CC BY-NC-SA 4.0

当前页面没有目录