洛谷P2556 [AHOI2002] 黑白图像压缩 [模拟]
黑白图像压缩
题目描述
选修基础生物基因学的时候, 小可可在家里做了一次图像学试验。 她知道:整个图像其实就是若干个图像点(称作像素)的序列,假定序列中像素的个数总是 8 的倍数, 于是每八个像素可以转换成一个叫做字节的数, 从而这个表示图像的像素序列就被转换成了字节的序列。
所谓的字节就是一个八位的二进制数(当然,为了便于书写,人们经常用它的十进制形式来表示)。这八个像素从前向后依次对应于字节从高位到低位的八个位, 用 0 来表示白色像素、 1 来表示黑色像素。 这种表示方法叫做位图法。 例如字节序列 210、 0、255 表示了 8*3=24 个像素, 由于对应的二进制形式是 11010010、 00000000、11111111, 所以这 24 个像素的颜色依次是黑、 黑、 白、 黑、 白、 白、 黑、 白、白、白、白、白、白、白、白、白、黑、黑、黑、黑、黑、黑、黑、黑。
小可可想: 其实图像中存在着很多连续的同色像素段, 也许换一种方式表达图像能够减少图像的数据量。 她的思路是: 把像素按照颜色分成若干个片段, 同一个片段中各像素颜色相同, 且连续的同色像素都在同一个片段中。同时已知每个片段的最大长度小于 128。
每一个像素片段都是用一个二进制字节量来表示, 最高位表示片段中像素的颜色, 而低七位表示片段中像素的数目。注意:不存在长度为 0 的像素片段。这种表示法叫做像素片段法。
例如位图表示法的字节序列 210、 0、 255 对应的像素序列可以分成七个片段,分别是: 11、 0、 1、 00、 1、 000000000、 11111111。如果用像素片段法来表示的话,二进制字节序列应该写成 10000010、 00000001、 10000001、00000010、 10000001、 00001001、 10001000, 而其对应于十进制字节序列就是 130、 1、 129、 2、 129、 9、 136。
像素片段法是否能有效地减少图像的数据存储量呢?小可可不知道如何用数学的方法加以证明, 于是决心对手头上的图像做些试验, 看看该方法是否真的有效。 请你编写程序完成图像信息的转换, 以协助小可可完成这项试验。
输入输出格式
输入格式:
文件中以一行的形式存放了一个图像的信息。第一个数是正整数
n ( n ≤ 80000 ),表明该图像有 n 个像素。随后有n/8个十进制形式的
字节量,表示该图像的位图信息。相邻数之间用一个空白字符隔开。
输出格式:
以一行的形式输出以像素片段表示法表示的图像信息,各个数都以
十进制的形式出现,相邻数之间用一个空白字符隔开。
输入输出样例
输入样例#1:
8 0
输出样例#1:
8
输入样例#2:
24 210 0 255
130 1 129 2 129 9 136
分析:
没错,一道只用模拟就可以A的省选,搞不懂出题人的心思。。。
Code:
#include<bits/stdc++.h>
using namespace std;
int n,a[];
int main()
{
ios::sync_with_stdio(false);
cin>>n;int x,y,cnt;
for(int i=;i<=n/;i++){
cin>>x;
for(int j=;j>=;j--)
a[(i-)*+j]=x%,x/=;}
y=;cnt=;
while(){
x=a[y];cnt=;
while(a[y]==x){
cnt++,y++;if(y>n)break;}
if(x==)cnt+=;
cout<<cnt<<" ";
if(y>n)break;}
return ;
}
洛谷P2556 [AHOI2002] 黑白图像压缩 [模拟]的更多相关文章
- 洛谷——P2556 [AHOI2002]黑白图像压缩
P2556 [AHOI2002]黑白图像压缩 题目描述 选修基础生物基因学的时候, 小可可在家里做了一次图像学试验. 她知道:整个图像其实就是若干个图像点(称作像素)的序列,假定序列中像素的个数总是 ...
- 洛谷 P5594 【XR-4】模拟赛
洛谷 P5594 [XR-4]模拟赛 洛谷传送门 题目描述 X 校正在进行 CSP 前的校内集训. 一共有 nn 名 OIer 参与这次集训,教练为他们精心准备了 mm 套模拟赛题. 然而,每名 OI ...
- 洛谷P3434 [POI2006]KRA-The Disks [模拟]
题目传送门 KRA 题目描述 For his birthday present little Johnny has received from his parents a new plaything ...
- 【题解】洛谷P3952 [NOIP2017TG] 时间复杂度(模拟)
题目来源:洛谷P3952 思路 纯模拟没啥可说的了 果然好复杂 参考了你谷一个40行代码 代码 #include<iostream> #include<cstdio> #inc ...
- 洛谷P1039 侦探推理(模拟)
侦探推理 题目描述 明明同学最近迷上了侦探漫画<柯南>并沉醉于推理游戏之中,于是他召集了一群同学玩推理游戏.游戏的内容是这样的,明明的同学们先商量好由其中的一个人充当罪犯(在明明不知情的情 ...
- 洛谷P1086 花生采摘【模拟】
题目描述 鲁宾逊先生有一只宠物猴,名叫多多.这天,他们两个正沿着乡间小路散步,突然发现路边的告示牌上贴着一张小小的纸条:“欢迎免费品尝我种的花生!――熊字”. 鲁宾逊先生和多多都很开心,因为花生正是他 ...
- 洛谷P4623 [COCI2012-2013#6] BUREK [模拟]
题目传送门 BUREK 格式难调,题面就不放了. 分析: 一道比较有思维难度的模拟题. 首先我们可以想到,对于一个三角形,可以画出一个最小矩形使得这个三角形被完全包围,并且这个矩形的边平行于坐标轴(图 ...
- 【洛谷】NOIP提高组模拟赛Day2【动态开节点/树状数组】【双头链表模拟】
U41571 Agent2 题目背景 炎炎夏日还没有过去,Agent们没有一个想出去外面搞事情的.每当ENLIGHTENED总部组织活动时,人人都说有空,结果到了活动日,却一个接着一个咕咕咕了.只有不 ...
- 洛谷——P2559 [AHOI2002]哈利·波特与魔法石
P2559 [AHOI2002]哈利·波特与魔法石 题目描述 输入输出格式 输入格式: 文件中第一行有七个数,分别是 S1. S2 . …. S7 :第二行有两个数,依次分别是起点城市 i 和终点城市 ...
随机推荐
- 前端多层回调问题解决方案之$.Deferred
javascript引擎是单线程的,但是通过异步回调可以实现IO操作并行执行能力,当业务逻辑复杂的时候我们就进入回调地狱. 本文讲得ajax是在jquery1.5以前的版本,目的旨在让我们理解延迟对象 ...
- MongoDB入门(8)- c#通过操作MongoDB GridFS实现文件的数据库存储
GridFS介绍 GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件. GridFS GridFS长啥样 /* 1 */ { "_id" : ObjectId(& ...
- 2017.6.11 NOIP模拟赛
题目链接: http://files.cnblogs.com/files/TheRoadToTheGold/2017-6.11NOIP%E6%A8%A1%E6%8B%9F%E8%B5%9B.zip 期 ...
- LightOJ 1161 - Extreme GCD 容斥
题意:给你n个数[4,10000],问在其中任意选四个其GCD值为1的情况有几种. 思路:GCD为1的情况很简单 即各个数没有相同的质因数,所以求所有出现过的质因数次数再容斥一下-- 很可惜是错的,因 ...
- Codeforces 671B/Round #352(div.2) D.Robin Hood 二分
D. Robin Hood We all know the impressive story of Robin Hood. Robin Hood uses his archery skills and ...
- 不可思议的OOM
本文发现了一类OOM(OutOfMemoryError),这类OOM的特点是崩溃时java堆内存和设备物理内存都充足,下文将带你探索并解释这类OOM抛出的原因. 关键词: OutOfMemoryEr ...
- bzoj 3197 DP
这道题我们可以看成给定两个黑白树,可以修改其中一棵树的颜色,问最少修改多少颜色可以使两棵树同构. 首先我们知道在树的同构中树上最长链中点(如果是偶数的话就是中间两个点)是不变的,我们把这个点叫做树的重 ...
- js_读【javascript面向对象编程指南】笔记
写在前面: 工欲善其事,必先利其器.编程的器,是前人总结的经验,常言道站在巨人的肩膀上开发,往往比自己另辟蹊径容易的多.经验藏于书,故有书中自有颜如玉,书中自有黄金屋,我也一度认为读书要花费很多时间, ...
- poj 2253 Frogger (dijkstra最短路)
题目链接:http://poj.org/problem?id=2253 Frogger Time Limit: 1000MS Memory Limit: 65536K Total Submissi ...
- Ribbon自带负载均衡策略比较
Ribbon自带负载均衡策略比较 策略名 策略声明 策略描述 实现说明 BestAvailableRule public class BestAvailableRule extends ClientC ...