当前位置: 首页 > news >正文

做衣服外单网站网络项目免费的资源网

做衣服外单网站,网络项目免费的资源网,wordpress如何应用ssl,还有哪些网站可以做H5大家好,我是莫小特。 这篇文章给大家分享 GESP 四级 2023 年 9 月编程题第 2 题:变长编码。 题目链接 洛谷链接:B3870 变长编码 一、完成输入 根据输入格式的描述,输入一个正整数 N,数据范围: 0 ≤ N ≤ 10 18 0 \le N \le 10^{18} 0≤N≤1018,因此使用 long long 类…

image.png

大家好,我是莫小特。
这篇文章给大家分享 GESP 四级 2023 年 9 月编程题第 2 题:变长编码。

题目链接

洛谷链接:B3870 变长编码

image.png

一、完成输入

根据输入格式的描述,输入一个正整数 N,数据范围: 0 ≤ N ≤ 10 18 0 \le N \le 10^{18} 0N1018,因此使用 long long 类型。

long long N;
cin>>N;

输入完成后,我们来分析题意,解决算法。

二、分析题意

根据题目要求,输出一行,输出 N 对应的变长编码的每个字节,每个字节要用 2 位十六进制表示。

所以题目的意思就是要将数字 N 转换成变长编码。

根据题目的描述,要对给定的整数转变成二进制形式。

所以我们要对输入的整数进行处理,转换成二进制的形式。

需要定义一个数组,全部初始化为 0,元素个数我们先定义限制在 10 5 10^5 105

const int num=1e5+10;
int a[num]={0};//初始化数组

对输入的数据进行二进制变化,将转变后的二进制存储数组中。

具体的操作如图示,数组的下标从 1 开始,每次记录。

image.png

int i=1;
while(N!=0)
{a[i]=N%2;//二进制的最高位N/=2;i++;//记录下一位
}

但由于二进制是倒序,原本记录在数组中的高位要变成低位,如图示,原数组下标和二进制下标的规则是两个下标相加等于一个相同的数。

image.png

因此需要一个新的变量来存储正确的二进制数据,根据之前的规律,两个下标相加等于相同的数,也就是 i。

int b[num]={0};
for(int j=1;j<i;j++)
{b[j]=a[i-j];
}

将 b 数组输出,测试转换二进制是否正确。

for(int k=1;k<i;k++)
{cout<<b[k];
}

数据正确,证明二进制转换正确。

image.png
image.png

二进制完成后,来到第二步,将二进制数从低位到高位切分为 7 位。

因此需要在 b 数组中倒序访问 7 个,单独存储在一个数组中,考虑到会有多组数据,因要定义一个二维数组。

int len=i-1;  //二进制位个数
int now=len;  //从低位开始处理

由于编码时是从最低位开始,每7位一组,所以我们需要从 b[len] 开始往前读,now 变量就是当前正在处理位的下标,从后往前。

使用二维数组 group[g][j] 来存储每一组的 7 位,外层下标 g 表示第几组(从 1 开始),内层下标 j 表示这一组中的第几位(二进制位)

注意要先初始化为全 0。

int group[100][10] = {0}; 
http://www.hkea.cn/news/321818/

相关文章:

  • 课程网站建设特色成都seo外包
  • 建设厅安全员证书查询网站外链seo推广
  • 邢台手机网站建设服务百度查重软件
  • 网站开发开题报告ppt竞价运营是做什么的
  • 网站代理怎么做的网站推广策划思路
  • 长沙网站seo公司百度权重5的网站能卖多少钱
  • 常德网站开发百度推广登录首页网址
  • 网站建设软件设计推广官网
  • 网站运营阶段站长之家app
  • discuz网站标题百度广告推广价格
  • 广州学校论坛网站建设疫情排行榜最新消息
  • 古董手表网站网络营销的主要方式和技巧
  • 做公司网站要那些资料百度电脑版下载官方
  • 定州网站建设公司企业网站源码
  • 0基础1小时网站建设教程如何给自己的公司建网站
  • 成都网站建设s1emens电商平台怎么加入
  • 六合哪家做网站建设域名注册查询软件
  • 网站建设的方案费用2023年新冠疫情最新消息
  • 九星市场做网站快速将网站seo
  • 长春做网站推广的公司提升神马关键词排名报价
  • 金融网站cms百度网盘客服电话人工服务
  • 美观网站建设物美价廉seo网站优化专员
  • 网站设计应该怎么做推广软文代写
  • 网站建设工作室发展百度收录教程
  • 没有网站 可以做百度口碑吗成都网站制作
  • 医院系统网站建设百度宁波营销中心
  • 网站劫持代码杭州互联网公司排名榜
  • 做网站找哪个部门吸引人的推广标题
  • 网站制作软件名字线做竞价推广代运营公司
  • avada如何做中英文网站沈阳百度推广排名优化