100101B二进制11转换成十进制制过程?

众所周知二进制是计算技术中廣泛采用的一种数制,现代的 电子计算机技术全部采用的是二进制,因为它只使用0、1 两个数 字符号非常简单方便,易于用电子方式实现計算机内部处理 的信息,都是采用二进制数来表示的二进制(Binary)数用0 和1 两个数字及其组合来表示任何数。进位规则是“逢2 进1” 数字1 在鈈同的位上代表不同的值,按从右至左的次序这个值 以二倍递增。除了数值外英文字母、符号、汉字、声音、图象 等数据在计算机内蔀也采用二进制数的形式来编码。目前最常用 的是使用国际标准代码ASCII 码(美国标准信息交换码)二进 制思想在信息学竞赛中也有广泛的應用。本文通过几个例子总
这样,这道题目就变得简单了。 每次修改的时候,给定一个格子修改的范围(x,y),这样我们不妨 把这个范围变成两个点,┅个为更改的初始节点x,另一个为更改的 终止节点y+1,然后往这列格了中的这两个节点中加1 1 c|2|p9‘29s65 y+1 Insert x,y+1 每次询问x的时候只需计算出Sm2=∑d这样就可以求出第x个 格子被修改过儿次,输出的答案就是Sm,mod2 Ans= Sum mod 2 Search x 通过以上的方法,我们用·般的数据结构就可使得插入的复杂度 第3页共29页 为ObgM),香询的复杂度为O(bgM)。 这样一维嘚问题我们就完美的解决了! 第二步 我们己经解决了一维的问题,接卜来我们就可以看看题日中的 维情况 我们能不能用上面的方法解决这一噵题目呢? 通过分析我们以改变两个格子的数字保证不了要求的性质(只改 变矩阵中的数字而不改变其他的数字),由于一维的时候,我们加的 两个點实际上给改变的区间定了一个范围,那么二维的情况,我们也 给它设定·个范闱,加上四个格了 (x1,n)(x2+1,n)(x1,n2+1)(x2+1,2+1)每次插入的时候往这四个格子中 加1 ,勇 334|9P5[95 (+ (x2+1%+1) (a,b)。个妨分類讨论: 如上图所示 当(a,b)属于第1、2、3、4或7这五个区域时,计算Sm不受插 入的影响; 当(ab)属于第5个区域时,Smnb会受到(x,n1)的影响,Smnb 相比以前会增加1,这个更改是正确嘚。 当(ab)属于第6个区域时,Sm会受到(x,从(x2+1,)的影响, 第5页共29页 Sm.相比以前会增加2,答案是Sm.mod2,结果不受影响,这个 更改是正确的 当(a,b)属于第8个区域时,显m会受到(x,y1)(x1,n2+1)的影響, Sm相比以前会增加2,答案是 Sun, mod2,结果不受影响,这个 更改是正确的。 当(a,b)属于第9个区域时,sm.会受到 (x1,n)(x2+1,n1)(x,n2+1)(x2+1,2+1)的影响,Sm/相比以前会增加4, 答案是 Sum mod2,结果不受影响,这个更改昰正确的 证明完毕。 通过证明我们发现以上的方法是正确的 第三步 那么二维的可以解决,三维的呢?N维的呢? 根据上面的方法,我们不难想到,洳果是三维的话,应该在长方 体的周围加入8个点,N维的情况,应该在N维图形周围加入2个点 来处理这些情况。统计Sm,即可 ●第四步 这道题的方法我們已经很明确了,要用到数据结构来解决,但是 用线段树等数据结构的话,如果推广到二维或者三维,可能写起来就 相当复杂,并且出错的概率相当夶,那么有没有一个写起来既简单快 捷又易推广的数据结构呢?树状数组!!! 第6页共29页 树状数组就是二进制思想的经典应用。 树状数组中的每一个え素的编号变成了二进制编码,如 l1=(101)2,再通过这些进制编码末尾的0的个数来决定存储什么 信息,假设节点编号为ⅹ,那么这个节点存储数据的区间为2(其 中k为x二进制末尾0的个数)个元素因为这个区间最后一个 元素必然为4小,这个区间存储的数据为A-24+1+…+A列。 算出2k可以直接运用位运算: 2E:X and-X 插入或删除操作就可以写成 While x<=max do egIn 一个1减去而x的二进制里最多有log(n)个1,所以查询效率 是1og(n) 至于修改,修改一个节点,必须修改其所有祖先,最坏情况 下为修改第个元素,朂多有log(n)的祖先。所以修改效率是 Og(n) 证明完毕。 总结: 在数据结构中的运用二进制思想,创造出∫一种新的数据结 构——树状数组其思想核心茬于运用了十进制数与一进制数之 间的联系,通过数的二进制形式米决定储存信息,把复杂的问题 简单化,方法简单巧妙 树状数组的优势在于代碼长度短,不易出错,思想巧妙,算 法复杂度低,维护简单,易推广到二维甚至三维等等 对于数据结构要求操作不复杂的题日,是上佳的选择。 第二章;②进制思想在解题思路中的应用 第8页共29页 例题二: Sudoku 数独盘面是个九宫,每一宫又分为九个小格在这八十一格中给 出一定的已知数字,利用逻辑囷推理,在其他的空格上填入19的数 字。使1-9每个数字在每一行、每一列和每一宫中都只出现一次 5 9 34 5 |64 859 9 6 823 8 2|3 6 分析 第一步 这是一道经典的数独题目,通过给萣的数字进行分析和排 除,算出其他格子的数字。一种比较容易想到的做法,按照顺序枚 举格子中的数,进行搜索,直到搜完为止 但是数独中的數字排列千变万化,那么究竞有多少种终盘的 数字组合呢?6,670,903,752,021,072,936,960(约有6.67×10 的21次方)种组合,单凭这样简单的搜索是不可能完成的。 第二步 第9页共29页 我们需偠非常有效的剪枝米提高搜索效率 把每一个空格子可能放的数字记录到表格中,把可能性唯 的数字进行填充,然后按可能放的数的个数进行排序,按可能的 个数从小到大进行搜索,每次搜索到一个格子的时候,随机选择 的一个可以放得数字填到空格中,并继续进行搜索,但是在实现 起来楿当困难,每次填个数字后,该格了所在的行、列以及3*3 的格子,可以填的数字个数都得修改,修改完了还需要排序,并且写 完之后,结果发现还是TLE!! 第三步 应用二进制思想,把状态进行状态压缩,将每个格了想象 成一个9位的二进制数,使第1位…第9位,分別表示数字1…9 是否能放,每个数位上用0或1来表示,0表示这个数字可以放, 表示这个数字不能放。这样就把每个格子表示成0511中的 个数,这样每次搜索的时候,就直接枚举·个数字,通过位运算 计算出這行、列以及3*3的块中是否可放即可, 通过这样的状态压缩,不用其它的剪枝就可以解决这道题目 当然再加上按可能放的数的个数进行排序,按可能的个数从 小到大进行搜索之类的优化可以很完美的解决这道题目!!! 例题三; Requirements 第10页共29页

 
  • 10进制数转换成x进制数除数为x,取余数(x=2,8,16)
    二进制转换为其他进制,从右到左的数字乘以进制的幂相加
     
  • -23=(原)=(反)=(补)。 全部
  • -23=(原)=(反)=(补)
  • IBM 在与许多银行协作的基础上,估算絀每张纸质支票的清算成本范围在9到15美分之间( )

    此题为判断题(对,错)

  • 发动机怠速控制系统通过调节()来调整发动机怠速转速。

  • 若要快速、矗接、多次打印已设置好的工作表,可单击_____的"打印预览和打印”按钮选择一项:()

  • 从广义上讲,电子商务法律除了调整电子商务的交易形式关系の外,还调整电子商务的________关系

我要回帖

更多关于 二进制11转换成十进制 的文章

 

随机推荐