问题 6261 --4.三三音乐

6261: 4.三三音乐

题目描述

33DAI 最近学习了音频的数字化方法。按顺序依次为“**采样、量化、编码**”三个步骤,下面是相关概念的简单解释: - **采样**:每隔一个固定的时间得到一个当前音频信息,可以认为这个信息是一个浮点数。 - **量化**:音频信息都量一下对应的刻度。 - **编码**:把每个刻度对应到一个数字代码,把所有数字代码从前往后连接就形成了音频的数字信息。 - **采样频率**:单位为赫兹(hz),表示每秒钟的采样次数,每次采样的间隔时间一样。假设采样频率为 $a$ hz,则表示每 $\frac{1}{a}$ 秒采集一个音频信息(浮点数)。 - **量化位数**:即采用一个几位的二进制数来描述采样得到的浮点数。假设量化位数为 $b$,那么量化结果的二进制整数对应的十进制范围为 $0\sim 2^b-1$。 假设音频信息(浮点数)的范围固定为 $16\sim 20000$,那么会把 $16\sim 20000$ 中间平均分出来 $2^b-1$ 个分界点,加上 $16$ 一起就构成了 $2^b$ 个分界点。每个音频信息都找到小于等于它的最大的刻度值作为它的编码值。 一般来说标准的音频文件还会有多声道、以及一些压缩算法来得到更好的效果。但本题不讨论这个。 33DAI 拿到了一个采样频率为 $a$ 赫兹,持续 $t$ 秒的一共 $a\times t$ 个音频信息(浮点数),他想要把这些音频信息(浮点数)按照 $b$ 位的量化位数进行量化。 他使用二进制编码,把所有量化的刻度从小到大分别对应为 $0\sim 2^b-1$,每个刻度都用一个 $b$ 位二进制数记录,所有固定位数的二进制数从前往后连接得到最终编码结果。 请你输出最终的编码结果。

输入

第一行为三个整数 $a,t,b$。 接下来 $t$ 行,每行为 $a$ 个浮点数,即每秒的音频信息。

输出

一行为最终的编码结果。

样例输入输出

输入#1 复制
5 2 3
16.8 2000 7510 15333 10008 
9000.5 15005 19999.99 15003.999 2514.01
输出#1 复制
000000011110100011110111101001

提示

【样例 1 解释】 ### 采样 每一段时间采集当前数据,得到一系列浮点数。 ![](/upload/image/20240914/204349_51113.png) ### 量化 量化位数为 $3$,所以分为了 $2^3=8$ 段,每段间隔 $(20000-16)/8=2498$。找到对应的刻度。 ![](/upload/image/20240914/204401_80120.png) ### 编码 用对应的二进制给每个音频信号(浮点数)编码 ![](/upload/image/20240914/204414_85675.png) 【数据规模与约定】 对于 $100\%$ 的数据,保证: - $1\le a\le 44100$ - $1\le t\le 300$ - $1\le a*t\le 10^5$ - $1\le b\le 16$ - $16\le 音频信息\le 20000$。 子任务划分: - 子任务 1(10 分):保证 $a*t=1$。 - 子任务 2(20 分):保证 $b=1$ - 子任务 3(30 分):保证 $音频信息 = 16$ - 子任务 4(40 分):没有特殊限制
序号 标题 作者 发表时间 费用 订购数 操作