![]() |
|
|
01串压缩编码
|
||||
【问题描述】 计算机中的文件都是由一串01串组成的,我们可以通过某种方式压缩它。 我们可以用一个十进制数串(长度不超过1000),代表一个长度不超过8000的01串。例如十进制串15 1 128代表01串00001111 00000001 10000000。01串可以划分成连续的片段(即连续成段的0或1),如上例可划分成0000 1111 0000000 11 0000000五个片断。我们可以用一个字节(8位)的二进制表示一个片断,表示方法为:字节的最高位代表此片段的颜色是0还是1,低7位代表此片段的长度,所以上例就可以表示为:00000100 10000100 00000111 10000010 00000111。注意到现在有5个字节,每个字节可以用一个不超过255的十进制数表示,所以我们又可以把它表示成4 132 7 130 7。 我们再看看整个编码压缩过程: 可以保证所有输入数据连续的0或1片段的长度均小于128。 【输入】 输入数据只有一行,第一个数N是一个可被8整除的不大于8000的自然数,代表编码的01串长度。接下来N/8个十进制整数。 【输出】 输出只有一行,输出最后的十进制压缩编码。 【样例输入】 24 15 1 128 【样例输出】 4 132 7 130 7 |
||||
| 网站导航
| 关于曙光 | 联系我们
| 请提意见 Copyright © FuJian Sunshine Educational Info. Co.,Ltd. 福建曙光教育资讯有限公司 版权所有 |