#D0290. 三三音乐
三三音乐
题目描述
33DAI 最近学习了音频的数字化方法。按顺序依次为“采样、量化、编码”三个步骤,下面是相关概念的简单解释:
- 采样:每隔一个固定的时间得到一个当前音频信息,可以认为这个信息是一个浮点数。
- 量化:音频信息都量一下对应的刻度。
- 编码:把每个刻度对应到一个数字代码,把所有数字代码从前往后连接就形成了音频的数字信息。
- 采样频率:单位为赫兹(hz),表示每秒钟的采样次数,每次采样的间隔时间一样。假设采样频率为 hz,则表示每 秒采集一个音频信息(浮点数)。
- 量化位数:即采用一个几位的二进制数来描述采样得到的浮点数。假设量化位数为 ,那么量化结果的二进制整数对应的十进制范围为 。 假设音频信息(浮点数)的范围固定为 ,那么会把 中间平均分出来 个分界点,加上 一起就构成了 个分界点。每个音频信息都找到小于等于它的最大的刻度值作为它的编码值。
一般来说标准的音频文件还会有多声道、以及一些压缩算法来得到更好的效果。但本题不讨论这个。
33DAI 拿到了一个采样频率为 赫兹,持续 秒的一共 个音频信息(浮点数),他想要把这些音频信息(浮点数)按照 位的量化位数进行量化。
他使用二进制编码,把所有量化的刻度从小到大分别对应为 ,每个刻度都用一个 位二进制数记录,所有固定位数的二进制数从前往后连接得到最终编码结果。
请你输出最终的编码结果。
输入格式
第一行为三个整数 。
接下来 行,每行为 个浮点数,即每秒的音频信息。
输出格式
一行为最终的编码结果。
5 2 3
16.8 2000 7510 15333 10008
9000.5 15005 19999.99 15003.999 2514.01
000000011110100011110111101001
样例 1 解释
采样
每一段时间采集当前数据,得到一系列浮点数。
量化
量化位数为 ,所以分为了 段,每段间隔 。找到对应的刻度。
编码
用对应的二进制给每个音频信号(浮点数)编码
数据规模与约定
对于 的数据,保证:
- 。
子任务划分:
- 子任务 1(10 分):保证 。
- 子任务 2(20 分):保证
- 子任务 3(30 分):保证
- 子任务 4(40 分):没有特殊限制