- 41
- 0
- 约2.49万字
- 约 29页
- 2017-06-08 发布于湖北
- 举报
浅谈信息学竞赛中的“0”和“1”
浅谈信息学竞赛中的“0”和“1”
浅浅谈谈信信息息学学竞竞赛赛中中的的““00””和和““11””
——二进制思想在信息学竞赛中的应用
——二进制思想在信息学竞赛中的应用
————二二进进制制思思想想在在信信息息学学竞竞赛赛中中的的应应用用
河北省石家庄二中
河北省石家庄二中
河河北北省省石石家家庄庄二二中中
武森
武森
武武森森
前言
前言
前前言言
在德国图灵根著名的郭塔王宫图书馆(Schlossbiliothke zu
Gotha)保存着一份弥足珍贵的手稿,其标题为:“1与0,一切
数字的神奇渊源。这是造物的秘密美妙的典范,因为,一切无非
都来自上帝。”
众所周知,二进制是计算技术中广泛采用的一种数制,现代的
电子计算机技术全部采用的是二进制,因为它只使用0、1两个数
字符号,非常简单方便,易于用电子方式实现。计算机内部处理
的信息,都是采用二进制数来表示的。二进制(Binary)数用 0
和1两个数字及其组合来表示任何数。进位规则是“逢2进1”,
数字1在不同的位上代表不同的值,按从右至左的次序,这个值
以二倍递增。除了数值外,英文字母、符号、汉字、声音、图象
等数据在计算机内部也采用二进制数的形式来编码。目前最常用
的是使用国际标准代码ASCII 码(美国标准信息交换码)。二进
制思想在信息学竞赛中也有广泛的应用。本文通过几个例子,总结
了二进制思想在信息学竞赛中的应用。
关键字
关键字
关关键键字字 二进制 十进制 树状数组 状态压缩 01二叉树
第 1 页 共 29 页
正文
正文
正正文文
第一章:二进制思想在数据结构中的应用
例题一:Matrix
提供一个M*N的矩阵,其中每一个格子中的数不是1就是0,初
始时每一个格子的值为0,我们可以修改这个矩阵中的数字,每次给
出矩阵的左上角坐标(x ,y),以及右下角的坐标(x, y ),并且将矩
1 1 2 2
阵中的数字全部取反(原来是1现在变成0,原来是0现在变成1),
还可以每次查询第x行第y列的格子中的数字是什么。
分析:
根据这个题目中介绍的这个矩阵中的数的特点不是1就是0,这
样我们只需记录每个格子改变过几次,即可判断这个格子的数字。
� 第一步
我们不妨把这道题目简化一下,假定题目中给定的是长度为N的
一列格子 。
d
第 2 页 共 29 页
这样,这道题目就变得简单了。
每次修改的时候,给定一个格子修改的范围(x,y),这样我们不妨
把这个范围变成两个点,一个为更改的初始节点 ,另一个为更改的
x
终止节点y+1,然后往这列格子中的这两个节
原创力文档

文档评论(0)