noip2011初赛提高组 试题详解
转载自:https://blog.csdn.net/Eirlys_North/article/details/52889993
一、单项选择题(共20题,每题1.5分,共计30分,每题有且仅有一个正确选项。)
1、 在二进制下,1011001+()=1100110。
A、1011 B、1101 C、1010 D、1111
B
送分的进制题=w=
2、字符“A”的ASCII码为十六进制41,则字符“Z”的ASCII码为十六进制的()。
A、66 B、5A C、50 D、视具体的计算机而定
B
‘A’十进制为65,‘Z’十进制为90(注意有26个字母不是24个=w=);进制转换
3、右图是一棵二叉树,它的先序遍历是( )。
A、ABDEFC B、DBEFAC C、DFEBCA D、ABCDEF
(原谅我图贴不过来=A=)
A
先序遍历:根左右
4、寄存器是( )的重要组成部分。
A、硬盘 B、高速缓存 C、内存 D、中央处理器(CPU)
D
寄存器是中央处理器内的组成部分,是CPU内部用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果。
5、广度优先搜索时,需要用到的数据结构是( )
A.链表 B.队列 C.栈 D.散列表
B
学过bfs的人都知道=w=
6.在使用高级语言编写程序时,一般提到的“空间复杂度”中的空间是指( )。
A.程序运行时理论上所占的内存空间 B.程序运行时理论上所占的数组空间
C.程序运行时理论上所占的硬盘空间 D.程序源文件理论上所占的硬盘空间
A
首先空间复杂度是运行时的理论值,所占用的存储空间,一般当然指的是内存啦
7.应用快速排序的分治思想,可以实现一个求第K大数的程序。假定不考虑极端的最坏情况,理论上可以实现的最低的算法时间复杂度为( )。
A.O (n2) B.O (n log n ) C.O (n) D. O (1)
C
想了解详情的可以借鉴: http://www.cnblogs.com/pugang/archive/2012/07/02/2573075.html
一般记住就好:极端(n^2),一般(nlogn),理论最少(n)
8.为解决web应用中的不兼容问题,保障信息的顺利流通,( )制定了一系列标准,涉及HTML、XML、CSS等,并建议开发者遵循。
A.微软 B.美国计算机协会(ACM) C.联合国教科文组织 D.万维网联盟(W3C)
D
我觉得就是蒙也会蒙D=w=
万维网联盟(World Wide Web Consortium,W3C)是Web技术领域最具权威和影响力的国际中立性技术标准机构,创建于1994年10月,原为欧洲核子研究组织的一个项目。万维网联盟是国际最著名的标准化组织,主要工作是发展Web规范。它已发布200多项影响深远的Web技术标准及实施指南,如广为业界采用的超文本标记语言(标准通用标记语言下的一个应用)、可扩展标记语言(标准通用标记语言下的一个子集)以及帮助残障人士有效获得Web内容的信息无障碍指南(WCAG)等 ——来自搜狗百科
9.体育课的铃声响了,同学们都陆续的奔向操场,按老师的要求从高到低站成一排。每个同学按顺序来到操场时,都从排尾走到排头,找到第一个比自己高的同学,并站在他的后面。这种站队的方法类似于( )算法。
A.快速排序 B.插入排序 C.冒泡排序 D.归并排序
B
送分题不要,怪我喽=。=
10.1956年( )授予肖克利(William Shockley)、巴丁(John Bardeen)和布拉顿(Walter Brattain)
A.诺贝尔物理学奖 B.约翰•冯•诺依曼奖
C.图灵奖 D.高德纳奖 (Donald E. Knuth Prize)
A
又到了一年一度拼人品的时候了↖(^ω^)↗(如果是我估计第一个就把A排除了=A=)
二、不定项选择题 (共10题,每题1.5分,共计15分。每题正确答案的个数不少于1。多选或少选均不得分)。
1.如果根结点的深度记为1,则一棵恰有2011个叶子结点的二叉树的深度可能是( )。
A.10 B.11 C.12 D.2011
CD
不就是二叉树么,最多一层一个有2011层,每一层节点个数为2^(n-1);显然最少有12层
2.在布尔逻辑中,逻辑“或”的性质有( )。
A.交换律:PVQ = QVP B.结合律:PV(QVR)=(PVQ)VR
C.幂等律:PVP = P D.有界律:PV1 = 1(1表示逻辑真)
ABCD
=。=
3.一个正整数在十六进制下有100位,则它在二进制下可能有( )位。
A.399 B.400 C.401 D.404
AB
二进制每四位对应十六进制一位,100位十六进制最多二进制为400位,
4.汇编语言( )。
A.是一种与具体硬件无关的程序设计语言
B.在编写复杂程序时,相对于高级语言而言代码量大,且不易调试
C.可以直接访问寄存器、内存单元、I/O端口
D.随着高级语言的诞生,如今已被完全淘汰,不再使用
BC
显然D是不选的而B是对的,剩下的靠姿势和人品了,姿势正确的话C是显然对的..而汇编语言显然是和硬件有关的...
详情请见各大百科=w=
5.现有一段文言文,要通过二进制哈夫曼编码进行压缩。简单起见,假设这段文言文只由4个汉字“之”、“乎”、“者”、“也”组成,它们出现的次数分别为700、600、300、400。那么,“也”字的编码长度可能是( )。
A.1 B.2 C.3 D.4
BC
到一个集合F中,在F中选取两棵根结点权值最小的树作为新构造的二叉树的左右子树,新二叉树的根结点的权值为其左右子树的根结点的权值之和。 从F中删除这两棵树,并把这棵新的二叉树同样以升序排列加入到集合F中。本题中,300和400变成一个700的节点,于是700、600、700,于是就会形成两种情况,所以‘也 ’编码长度可能是3或2
6.生物特征识别,是利用人体本身的生物特征进行身份认证的一种技术。目前,指纹识别、虹膜识别、人脸识别等技术已广泛应用于政府、银行、安全防卫等领域。以下属于生物特征识别技术及其应用的是( )。
A.指静脉验证 B.步态验证 C.ATM机密码验证 D.声音验证
ABD
很好蒙,so easy?
7.对于序列“7、5、1、9、3、6、8、4”,在不改变顺序的情况下,去掉( )会使逆序对的个数减少3。
A.7 B.5 C.3 D.6
CD
只要注意前后都考虑就应该没问题了
8.计算机中的数值信息分为整数和实数(浮点数)。实数之所以能够表示很大或者很小的数,是由于使用了( )。
A.阶码 B.补码 C.反码 D.较长的尾数
A
然而我并不会做=。=,百度百科教我
在机器中表示一个浮点数时需要给出指数,这个指数用整数形式表示,这个整数叫做阶码,阶码指明了小数点在数据中的位置。
。浮点数的阶码表示指数大小,有正有负,为避开阶码的符号,对每个阶码都加上一个正的常数(称偏移常数),使能表示的所有阶码都为正整数,变成“偏移”了的阶码,又称“增码”。移码的值不小于0,这样阶码总为0,可以取消,浮点数小数点的实际位置由移码减去偏移常数来决定。
一个任意实数,在计算机内部可以用指数(为整数)和尾数(为纯小数)来表示,用指数和尾数表示实数的方法称为浮点表示法。
浮点数的长度可以是32位、64位甚至更长,分阶码和尾数两部分。阶码位数越多,可表示的数的范围越大;尾数越多,所表示的数的精度越高。——来自百度百科
9.对右图使用Dijkstra算法计算S点到其余各点的最短路径长度时,到B点的距离d[B]初始时赋为8,在算法的执行过程中还会出现的值有( )。
A.3 B. 7 C.6 D.5
BCD
图图没弄上来,需要的话自己找一找吧,其实学过Dijkstra的应该不会错
10.为计算机网络中进行数据交换而建立的规则、标准或约定的集合称为网络协议。下列英文缩写中,( )是网络协议
A.HTTP B.TCP/IP C.FTP D.WWW
ABC
网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合
三个要素描述为:语义表示要做什么,语法表示要怎么做,时序表示做的顺序
Internet上的计算机使用的是TCP/IP协议(TCP/IP(Transmission Control Protocol/Internet Protocol)----传输控制协议/互联网协议是Internet采用的一种标准网络协议。它是由ARPA于1977年到1979年推出的一种网络体系结构和协议规范。随着Internet网的发展,TCP/IP也得到进一步的研究开发和推广应用,成为Internet网上的"通用语言")
三.问题求解(共2题,每空5分,共计10分)
1.平面图可以在画在平面上,且它的边仅在顶点上才能相交的简单无向图。4个顶点的平面图至多有6条边,如右图所示。那么,5个顶点的平面图至多有________条边。
9条,实践出真知=w=
2.定义一种字符串操作,一次可以将其中一个元素移到任意位置。举例说明,对于字符串“BCA”可以将A移到B之前,变字符串“ABC”。如果要将字符串“DACHEBGIF”变成“ABCDEFGHI”最少需要________次操作。
4次
第一次:B放到C前:DABCHEGIF
第二次:D放到H前:ABCDHEGIF
第三次:F放到G前:ABCDHEFGI
第四次:H放到I前:ABCDEFGHI
四、阅读程序写结果
1、3
2、1 2 5 13 34(隔一个输出一个的Fibonacci)
3、150(这是一个寻找最长路的dfs,走过的点不能再走)
4、57344(然而我不会做┑( ̄Д  ̄)┍)
五、完善程序
【pascal答案】
1、(类似高精)
(1)ans[i+j-1]
(2)ans.num[i]:=ans.num[i] mod 10(进完位后该位的答案)
(3)ans.num[i]:=ans.num[i]+a.num[i]+b.num[i](人家function都告诉你是add了)
(4)ans.num[i] mod 2
(5)inc(ans.len)
(6)a.len<b.len
(7)48 (字符换成数字)
(8)times(middle,middle),target (true代表a>b,根据二分可知中间值>target)
2、(1)inc(num);(该深度节点数+1)
(2)j:=i;(j就是根节点);
(3)solve(left,j-1,deep+1);
(4)solve(j+1,right,deep+1);
——by Eirlys