hdu 2527 Safe Or Unsafe(哈夫曼编码)

别再问ARM麒麟怎么装微信了!手把手教你用铠大师搞定Windows软件(飞腾/海思芯片实测) 本文详细介绍了如何在ARM架构的信创电脑(如飞腾/海思芯片)上使用铠大师安装和运行Windows软件,解决微信、Office等常用软件的兼容性问题。通过实测数据对比,铠大师在性能和易用性上显著优于传统方案,为麒麟系统用户提供了一套完整的解决方案。 阅读详情

Safe Or Unsafe

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 863    Accepted Submission(s): 309


Problem Description
Javac++ 一天在看计算机的书籍的时候,看到了一个有趣的东西!每一串字符都可以被编码成一些数字来储存信息,但是不同的编码方式得到的储存空间是不一样的!并且当储存空间大于一定的值的时候是不安全的!所以Javac++ 就想是否有一种方式是可以得到字符编码最小的空间值!显然这是可以的,因为书上有这一块内容--哈夫曼编码(Huffman Coding);一个字母的权值等于该字母在字符串中出现的频率。所以Javac++ 想让你帮忙,给你安全数值和一串字符串,并让你判断这个字符串是否是安全的?

Input
输入有多组case,首先是一个数字n表示有n组数据,然后每一组数据是有一个数值m(integer),和一串字符串没有空格只有包含小写字母组成!

Output
如果字符串的编码值小于等于给定的值则输出yes,否则输出no。

Sample Input
  
2 12 helloworld 66 ithinkyoucandoit

Sample Output
  
no yes

Source

Recommend
gaojie
 
思路:就是纯哈夫曼编码,但我这有个简单的统计方法,受益于林大陈宇老师,网上好像没有这种方法。
          就是节点大于1个的哈夫曼树,哈夫曼编码和等于所构造出的二叉树的非叶子节点的和。
 
失误点:只有一个节点是根结点就是叶子节点,没有非叶子节点需要另外判断
 
具体代码
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
const int oo=1e9;
int main()
{
 int cas,safe,sum,leaf;
 char s[123456];
 int num[28];
 while(cin>>cas)
 {
  while(cas--)
  {for(int i=0;i<27;i++)num[i]=0;
     sum=0;leaf=0;
   cin>>safe>>s;
   for(int i=0;s[i]!='\0';i++)
   num[s[i]-'a']++;///统计频率
   for(int i=0;i<27;i++)
   if(!num[i])num[i]=oo;///频率为0的将其变成无穷大
   else if(num[i])leaf+=num[i];///统计叶子节点
   sort(num,num+27);///排序
   while(num[0]!=oo)
   {
     for(int i=0;i<25;i++)
     if(num[i]&&num[i+1]!=oo)///最小两点值之和
     {
       sum+=num[i]+num[i+1];num[i+1]+=num[i];num[i]=oo;break;
     }
     else {sum+=num[i];num[i]=oo;break;}
     sort(num,num+26);
   }
   if(sum!=leaf)///当只有一个节点是叶子即是根,特殊处理
   sum-=leaf;///减去多余统计的叶子数
   if(sum<=safe)cout<<"yes\n";
   else cout<<"no\n";
  }
 }
}

 
【32】OpenCV——图像含义关系?RGGB , BGGR , GRBG , GBRG呢?raw8,raw10,raw12,raw14呢? YUV422; RAW16呢?YCbYCr/RG_GB; ‌如前所述,定义原始数据的位深精度。‌* ‌一种压缩色彩编码方式,通过色度抽样(亮度Y全分辨率,色度U/V半分辨率)减少数据量,常用于视频传输。‌* ‌可能指每个像素分量占16位存储(如高位填充的RAW10/12/14),或未明确量化的高精度原始数据。‌ ‌分类‌核心定义‌关联性及典型应用传感器原始色彩排列(RGGB/BGGR等)决定RAW数据的色彩分布规则RAW位深每个分量的数据精度(8/10/12/14位)影响动态范围和存储空间‌YUV422。 阅读详情

相关推荐

Calibre电子书阅读器个性化样式定制指南

本文详细介绍了如何通过Calibre电子书阅读器的用户样式表功能进行深度个性化样式定制。从修改全局字体、行距、背景配色(包括深色/浅色模式)到美化代码块、引用等特殊元素,本指南提供了完整的CSS代码示例与实战技巧,帮助用户打造专属的舒适阅读环境,显著提升电子书阅读体验。

vv45678的博客 920

HDU-2527 Safe Or Unsafe(哈夫曼树、map的应用)

题目描述 Javac++ 一天在看计算机的书籍的时候,看到了一个有趣的东西!每一串字符都可以被编码成一些数字来储存信息,但是不同的编码方式得到的储存空间是不一样的!并且当储存空间大于一定的值的时候是不安全的!所以Javac++ 就想是否有一种方式是可以得到字符编码最小的空间值!显然这是可以的,因为书上有这一块内容–哈夫曼编码(Huffman Coding);一个字母的权值等于该字母在字符串中出现的...

qq_43659632的博客 583

Geant4 学习笔记(一):实现multi-thread多线程

简单修改实现Geant4多线程

weixin_52417815的博客 6084

HDU -2527 -- Safe Or Unsafe【哈夫曼编码模板题】

Safe Or Unsafe Description Javac++ 一天在看计算机的书籍的时候,看到了一个有趣的东西!每一串字符都可以被编码成一些数字来储存信息,但是不同的编码方式得到的储存空间是不一样的!并且当储存空间大于一定的值的时候是不安全的!所以Javac++ 就想是否有一种方式是可以得到字符编码最小的空间值!显然这是可以的,因为书上有这一块内容–哈夫曼编码(Huffman Coding);一个字母的权值等于该字母在字符串中出现的频率。所以Javac++ 想让你帮忙,给你安全数值和一串字符串,并让

qq_45249273的博客 606

华为CNA VRM搭建(使用vmware worfstartion搭建)

华为CNA和VRM在 vmware workstation安装使用

weixin_70595351的博客 1810

5分钟搞定!用Cursor和.NET 9.0快速搭建串口通讯上位机(附VS Code插件配置)

本文分享了如何利用Cursor AI编程助手与.NET 9.0,在5分钟内快速构建一个功能完整的串口通讯上位机程序。通过自然语言描述需求,AI自动生成WinForms界面和核心代码,极大提升了硬件调试工具的定制开发效率。文章详细介绍了环境配置、AI协作编码、功能实现与调试的全过程。

weixin_28366353的博客 275

Day02———排序,折半,huffman

problem A 输入n(n<=100)个整数,按照绝对值从大到小排序后输出。题目保证对于每一个测试实例,所有的数的绝对值都不相等。 Input 输入数据有多组,每组占一行,每行的第一个数字为n,接着是n个整数,n=0表示输入数据的结束,不做处理。 Output 对于每个测试实例,输出排序后的结果,两个数之间用一个空格隔开。每个测试实例占一行。 Sample Input 3 3 -4 2 ...

lsd&xql的博客 300

基于综合阻抗特征的配电架空线路单相断线故障区段定位研究

本文提出了一种基于综合阻抗特征的配电架空线路单相断线故障区段定位方法。通过分析故障后正序、负序阻抗变化,构造综合阻抗判据实现精准定位。仿真结果表明:该方法能有效识别故障区段,差异度判据显著(故障区段达0.508,非故障区段<0.016);对过渡电阻(1-200Ω)和负荷变化具有强鲁棒性,定位准确率不受影响。相比传统方法,综合阻抗法放大了断线故障特征,解决了弱故障信号检测难题,为配电网安全运行提供了可靠的技术手段。

AI的内部世界的博客 81

HDU2527:Safe Or Unsafe(哈弗曼树)

Problem Description Javac++ 一天在看计算机的书籍的时候,看到了一个有趣的东西!每一串字符都可以被编码成一些数字来储存信息,但是不同的编码方式得到的储存空间是不一样的!并且当储存空间大于一定的值的时候是不安全的!所以Javac++ 就想是否有一种方式是可以得到字符编码最小的空间值!显然这是可以的,因为书上有这一块内容--哈夫曼编码(Huffman Coding);一个字

ACM!荣耀之路! 3670

微信终于支持“多设备同时在线”?我用 NAS + Docker 搭了一个云端微信系统,多端共享24小时在线

通过Docker 容器,将微信运行在云端并通过浏览器访问,实现多设备共享同一微信会话 📱。本文详细介绍完整部署流程、docker-compose 配置及资源控制方案,让微信变成“可访问的云桌面应用” ✨

XiaoqiangClub的博客 870

ximalaya 新xm-sign逆向思路

本文主要介绍目标网站新xm-sign值的逆向思路。仅代表个人理解,如有其他建议可在评论区沟通。声明仅仅记录一下自己的学习方法,不作为其他参考、更不作为商业用途。如有侵犯请联系本人删除。

weixin_66580433的博客 2017

7-1 哈夫曼编码 (PTA-数据结构)

给定一段文字,如果我们统计出字母出现的频率,是可以根据哈夫曼算法给出一套编码,使得用此编码压缩原文可以得到最短的编码总长。然而哈夫曼编码并不是唯一的。例如对字符串"aaaxuaxz",容易得到字母 'a'、'x'、'u'、'z' 的出现频率对应为 4、2、1、1。

FellAveal的博客 5927

如何使用GitHub API爬取仓库数据:完整教程及Python实现

通过本教程,你已经掌握了如何使用GitHub API爬取仓库数据,并将这些数据存储和清洗以便后续分析。我们从API认证、数据获取、存储、清洗等方面进行了详细介绍,并展示了如何利用Python进行自动化处理。希望这些代码和技术能够帮助你更好地使用GitHub API进行数据分析。

2201_76125261的博客 783

HDU2527 Safe Or Unsafe【哈夫曼编码】

Safe Or Unsafe Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5800 Accepted Submission(s): 2343 Problem Description Javac++ 一天在看计算机的书籍的时候,看到了一个有趣的东西!每一串字符都可以被编码成一些数字来储存信息,但是不同的编码方式得到的储存空间是不一样的!并且

海岛Blog 792

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

HDU 2527 Safe Or Unsafe【哈夫曼编码】

继续哈夫曼编码: AC代码:

AC_Dreameng 1004

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

HDU2527 Safe Or Unsafe 哈夫曼编码

题目大意就是给你一个字符串,把每个字母出现的

AC_Gibson的专栏 800

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

HDU 2527 Safe Or Unsafe(哈夫曼编码)

HDU 2527 Safe Or Unsafe(哈夫曼编码)

queuelovestack的专栏 1072

HDU2527 Safe Or Unsafe 【哈夫曼编码】

Safe Or Unsafe Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1683    Accepted Submission(s): 672 Problem Description Javac++ 一天在看计算机的

星尘 537

【哈夫曼编码】HDU2527-Safe Or Unsafe

Safe Or Unsafe Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1474    Accepted Submission(s): 582 Problem Description Javac++ 一天在看计算机的书籍

程序猿之洞 1792

复旦16年机考题--哈夫曼编码--Safe Or Unsafe HDU - 2527

题目是是给定一个字符串,求哈夫曼编码的最短长度,没有找到原题,故用HUD-2527来代替。 解题思路:思路是哈夫曼树的非叶子结点权值和为哈夫曼编码的最短长度,使用优先队列来实现。值得注意的是aaaa 的哈夫曼编码为其长度,为4。 #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;queue&gt; #include &...

上帝是个娘们的博客 573

Hdu 2527 Safe Or Unsafe-哈夫曼编码+优先队列

#include #include #include #include #include #include #include #include #include #include using namespace std; char s[10010]; int haf[10010]; int T; int n; struct cmp { bool

Fighting_Dream 648

hdu 2527 Safe Or Unsafe

题目链接:点击打开链接 Problem Description Javac++ 一天在看计算机的书籍的时候,看到了一个有趣的东西!每一串字符都可以被编码成一些数字来储存信息,但是不同的编码方式得到的储存空间是不一样的!并且当储存空间大于一定的值的时候是不安全的!所以Javac++ 就想是否有一种方式是可以得到字符编码最小的空间值!显然这是可以的,因为书上有这一块内容--哈夫曼编码(

Vision 1112

hdu2527 Safe Or Unsafe 哈夫曼树

哈夫曼树之杭电2527   2012-5-23 22:09阅读(0) Safe Or Unsafe Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 660    Accepted Submission(s): 220

hnust_xiehonghao的专栏 1212

hdu 5.2.8 2527 safe or unsafe

ただいま~~ 为了在usaco上写下的宏愿。。开始继续刷hdu了。。。(喂!) Safe Or Unsafe Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 45 Accepted Sub

shshwdr的专栏 1223

hdu 2527 Safe Or Unsafe (哈夫曼树)

Safe Or Unsafe Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1388Accepted Submission(s): 544 Problem Description Javac++ 一天在看计算机的书...

anque1234的博客 180

HDU 2527 Safe Or Unsafe (哈夫曼树)

Safe Or Unsafe Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 999    Accepted Submission(s): 378 Problem Description Javac++ 一天在看计算机的书籍的时候...

weixin_33936401的博客 82
上一篇: USACO section 3.2 Sweet Butter(SPFA)
下一篇: USACO section 3.3 Riding the Fences(欧拉通路的遍历,dfs)
剑不飞
博客等级 码龄15年 86粉丝 505原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值