初赛提高组试题及答案.doc_第1页
初赛提高组试题及答案.doc_第2页
初赛提高组试题及答案.doc_第3页
初赛提高组试题及答案.doc_第4页
初赛提高组试题及答案.doc_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第十七届全国青少年信息学奥林匹克联赛初赛试题( 提高组 Pascal语言 两小时完成 ) 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效 一、单项选择题(共20题,每题1.5分。共计30分。每题有且仅有一个正确选项。)1在二进制下,1100011 +( )= 1110000。A1011B1101C1010 D11112字符“A”的ASCII码为十六进制41,则字符“Z”的ASCII码为十六进制的( )。A66 B5AC50 D视具体的计算机而定3右图是一棵二叉树,它的先序遍历是( )。AABDEFC BDBEFACCDFEBCA DABCDEF4寄存器是( )的重要组成部分。A硬盘 B高速缓存 C内存D中央处理器(CPU)5广度优先搜索时,需要用到的数据结构是( )。A链表 B队列C栈D散列表6在使用高级语言编写程序时,一般提到的“空间复杂度”中的“空间”是指( )。A程序运行时理论上所占的内存空间B程序运行时理论上所占的数组空间C程序运行时理论上所占的硬盘空间D程序源文件理论上所占的硬盘空间7应用快速排序的分治思想,可以实现一个求第K大数的程序。假定不考虑极端的最坏情况,理论上可以实现的最低的算法时间复杂度为( )。 AO(n2)BO(n log n)CO(n)DO(1)8为解决Web应用中的不兼容问题,保障信息的顺利流通,( )制定了一系列标准,涉及HTML、XML、CSS等,并建议开发者遵循。A微软 B美国计算机协会(ACM) C联台国教科文组织D万维网联盟(W3C)9体育课的铃声响了,同学们都陆续地奔向操场,按老师的要求从高到矮站成一排。每个同学按顺序来到操场时,都从排尾走向排头,找到第一个比自己高的同学,并站在他的后面。这种站队的方法类似于( )算法。A快速排序B插入排序C冒泡排序D归并排序101956年( )授予肖克利(William Shockley)、巴丁(John Bardeen)和布拉顿(Walter Brattain),以表彰他们对半导体的研究和晶体管效应的发现。A诺贝尔物理学奖B约翰冯诺依曼奖C图灵奖D高德纳奖(Donald EKnuth Prize)二、不定项选择题(共10题,每题15分,共计15分。每题有一个或多个正确选项。多选或少选均不得分。)1如果根结点的深度记为1,则一棵恰有2011个叶子结点的二叉树的深度可能是( )。A10B11C12 D20112在布尔逻辑中,逻辑“或”的性质有( )。A交换律:P V Q = Q V P B结台律:P V ( Q V R ) = ( P V Q ) V RC幂等律:P V P = P D有界律:P V 1 = 1 (1表示逻辑真)3一个正整数在十六进制下有100位,则它在二进制下可能有( )位。A399B400C401 D4044汇编语言( )。A是一种与具体硬件无关的程序设计语言B在编写复杂程序时,相对于高级语言而言代码量较大,且不易调试C可以直接访问寄存器、内存单元、I/O端口D随着高级语言的诞生,如今已完全被淘汰,不再使用5现有一段文言文,要通过二进制哈夫曼编码进行压缩。简单起见,假设这段文言文只由4个汉字“之”、“乎”、“者”、“也”组成,它们出现的次数分别为700、600、300、400。那么,“也”字的编码长度可能是( )。A1B2C3 D46生物特征识别,是利用人体本身的生物特征进行身份认证的一种技术。目前,指纹识别、虹膜识别、人脸识别等技术己广泛应用于政府、银行、安全防卫等领域。以下属于生物特征识别技术及其应用的是( )。A指静脉验证B步态验证CATM机密码验证D声音验证7对于序列“7、5、1、9、3、6、8、4”,在不改变顺序的情况下,去掉( )会使逆序对的个数减少3。A7B5C3 D68计算机中的数值信息分为整数和实数(浮点数)。实数之所以能表示很大或者很小的数,是由于使用了( )。A阶码B补码C反码D较长的尾数9对右图使用Dijkstra算法计算S点到其余各点的最短路径长度时,到B点的距离dB初始时赋为8,在算法的执行过程中还会出现的值有( )。 A3B7C6 D510为计算机网络中进行数据交换而建立的规则、标准或约定的集合成为网络协议。下列英文缩写中,( )是网络协议。AHTTPBTCP/IPCFTP DWWW三、问题求解(共2题,每题5分,共计10分)1平面图是可以画在在平面上,且它的边仅在顶点上才能相交的简单无向图。4个顶点的平面图至多有6条边,如右图所示。那么,5个顶点的平面图至多有_条边。2定义一种字符串操作,一次可以将其中一个元素移到任意位置。举例说明,对于字符串”BcA”,可以将A移到B之前,变成字符串”ABC”。如果要将字符串”DACHEBGIF”变成”ABCDEFGHI”,最少需要_次操作。四、阅读程序写结果(共4题,每题8分,共计32分)1ConstSIZE = 100;varn, i, sum, x : integer;a : array1.SIZE of integer;beginreadln(n);fillchar(a, sizeof(a), 0);for i:= 1 to n dobeginread(x);inc(ax);end;i := 0;sum := 0;while sum (n div 2 + 1) dobegininc(i);sum :=sum + ai;end;writeln(i);end输入:114 5 6 6 4 3 3 2 3 2 1输出:2varn : integer;procedure f2(x, y : integer);forward;procedure f1(x, y : integer);beginif x ans thenans := len;for i := 1 to n doif (not visitedi) and (ex, i -1) thendfs(i, len + ex, i); visitedx := false;end;beginreadln(n, m);for i := 1 to n dofor j := 1 to n doeij := -1;for i := 1 to m dobeginreadln(a, b, c);eab := c;eba := c;end;for i := 1 to n dovisitedi := false;ans := 0;for i := 1 to n dodfs(i, 0);writeln(ans);end.输入:4 61 2 102 3 203 4 304 1 401 3 502 4 60输出:_4.constSIZE = 10000;LENGTH = 10;varsum : longint;n, m, i, j : integer;a : array1.SIZE, 1.LENGTH of integer;function h(u, v : integer) : integer;varans, i : integer;beginans := 0; for i := 1 to n doif aui avi theninc(ans); h := ans;end;beginreadln(n);filichar(a, sizeof(a), 0);m := 1;repeati := 1;while (i n thenbreak;inc(m);ami :=1;for j := i + 1 to n doamj := am - 1j;until false;sum :=0;for i := 1 to m dofor j := 1 to m dosum := sum + h(i, j);writeln(sum);end.输入:7输出:_五、完善程序(第1题,每空2分,第2题,每空3分,共计28分)1. (大整数开方)输入一个正整数n(1n 0then ans.len := a.1en + b.1enelse ans.len :=a.1en + b.1en 1;end;times := ans;end;function add(a, b : hugeint) : hugeint;vari : integer;ans : hugeint;beginfillchar(ans.num, sizeof(ans.num), 0);if a.1en b.1enthen ans.len := a.1enelse ans.len := b.len;for i := 1 to ans.1en dobeginans.numi :=_;ans.numi + 1 := ans.numi + 1 + ans.numi div 10;ans.numi := ans.numi mod 10;end;if ans.numans.1en + 1 0then inc(ans.len);add:=ans;end;function average(a, b : hugeint) : hugeint;vari : integer;ans : hugeint;beginans := add(a, b);for i := ans.1en downto 2 dobeginans.numi - 1 := ans.numi - 1 + (_) * 10;ans.numi := ans.numi div 2;end;ans.numi := ans.numi div 2;if ans.numans.len = 0 then dec(ans.len);average := ans;end;function plustwo(a : hugeint) : hugeint;vari : integer;ans : hugeint;beginans := a;ans.num1 := ans.num1 + 2;i := 1;while(i = 10) do beginans.numi + 1 := ans.numi + 1 + ans.numi div 10;ans.numi := ans.numi mod 10;inc(i);end;if ans.numans.len + 1 0then_; plustwo := ans;end;function over(a, b : hugeint) : boolean;var i : integer;begin if(_)then beginover := false;exit; end; if a.1en b.1en then beginover := true;exit;end;for i := a.len downto 1 dobeginif a.numi b.numi thenbeginover := true;exit;end;end;over := false;end;beginreadln(s);fillchar(target.num, sizeof(target.num), 0);target.1en := 1ength(s);for i := 1 to target.1en dotarget.numi := ord(starget.1en i + 1) - _;filichar(left.num, sizeof(1eft.num), 0);left.1en := 1;left.numi := 1;right := target;repeatmiddle := average(1eft, right);if over(_)then right := middleelse 1eft := middle; until over(plustwo(1eft), right); for i := left.1en downto 1 dowrite(1eft.numi);writeln;end.2. (笛卡尔树)对于一个给定的两两不等的正整数序列,笛卡尔树是这样的一棵二叉树:首先,它是一个最小堆,即除了根结点外,每个结点的权值都大于父节点的权值;其次,它的中序遍历恰好就是给定的序列。例如,对于序列7、2、12、1、10、5、15、3,下图就是一棵对应的笛卡尔树。现输入序列的规模n(1n maxDeep then beginmaxDeep := deep;num := 1;endelse if deep = maxDeep then_;min := INFINITY;for i := 1eft to right doif min ai thenbeginmin := ai;_;end;if left j then_;if j right then_;end;beginreadln(n);for i := 1 to n doread(ai);maxDeep := 0;solve(1, n, 1);writeln(maxDeep, , num);end.第十六届(2010年)全国青少年信息学奥林匹克联赛初赛试题( 提高组 Pascal语言 二小时完成 ) 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效 一、单项选择题1.与16进制数 A1.2等值的10进制数是 ( )A.101.2B.111.4C.161.125D.177.252.一个字节(byte)由( )个二进制组成。A.8B.16C.32D.以上都有可能3.以下逻辑表达式的值恒为真的是( )。A.P(PQ)(PQ) B.Q(PQ)(PQ)C.PQ(PQ)(PQ)D.PQ(PQ)(PQ)4.Linux下可执行文件的默认扩展名是( )。A. exeB. comC. dllD.以上都不是5.如果在某个进制下等式7*7=41成立,那么在该进制下等式12*12=( )也成立。A. 100B. 144C. 164D. 1966.提出“存储程序”的计算机工作原理的是( )。A. 克劳德香农B.戈登摩尔C.查尔斯巴比奇D.冯诺依曼7.前缀表达式“+ 3 * 2 + 5 12 ” 的值是( )。A. 23B. 25 C. 37D. 658.主存储器的存取速度比中央处理器(CPU)的工作速度慢的多,从而使得后者的效率受到影响。而根据局部性原理,CPU所访问的存储单元通常都趋于一个较小的连续区域中。于是,为了提高系统整体的执行效率,在CPU中引入了( )。A.寄存器B.高速缓存 C.闪存D.外存9.完全二叉树的顺序存储方案,是指将完全二叉树的结点从上到下、从左到右依次存放到一个顺序结构的数组中。假定根结点存放在数组的1号位置上,则第k号结点的父结点如果存在的话,应当存放在数组中的( )号位置。A. 2kB. 2k+1 C. k/2下取整D. (k+1)/210.以下竞赛活动中历史最悠久的是( )。A. NOIPB.NOIC. IOID. APIO二、不定项选择题1.元素R1、R2、R3、R4、R5入栈的顺序为R1、R2、R3、R4、R5。如果第1个出栈的是R3,那么第5个出栈的可能是( )。A.R1 B.R2 C.R4 D.R52. Pascal语言,C语言和C+语言都属于( )。A.高级语言 B.自然语言 C.解释性语言 D.编译性语言3. 原地排序是指在排序过程中(除了存储待排序元素以外的)辅助空间的大小与数据规模无关的排序算法。以下属于原地排序的有( )。A.冒泡排序B.插入排序 C.基数排序 D.选择排序4. 在整数的补码表示法中,以下说法正确的是( )。A只有负整数的编码最高位为1B在编码的位数确定后,所能表示的最小整数和最大整数的绝对值相同C整数0只有一个唯一的编码D两个用补码表示的数相加时,若在最高位产生进位,则表示运算溢出5. 一颗二叉树的前序遍历序列是ABCDEFG,后序遍历序列是CBFEGDA,则根结点的左子树的结点个数可能是( )。A0 B. 2 C. 4 D. 66. 在下列HTML语句中,可以正确产生一个指向NOI官方网站的超链接的是( )。A欢迎访问NOI网站B欢迎访问NOI网站Ch t t p : / / w w w . n o i . c nD欢迎访问NOI网站7. 关于拓扑排序,下列说法正确的是( )。A所有连通的有向图都可以实现拓扑排序B对同一个图而言,拓扑排序的结构是唯一的C拓扑排序中入度为0的结点总会排在入度大于0的结点的前面D拓扑排序结果序列中的第一个结点一定是入度大于0的点8. 一个平面的法线是指与该平面垂直的直线。过点(1,1,1)、(0,3,0)、(2,0,0)的平面的法线是( )。A过点(1,1,1)、(2,3,3)的直线B过点(1,1,1)、(3,2,1)的直线C过点(0,3,0)、(-3,1,1)的直线D过点(2,0,0)、(5,2,1)的直线9.双向链表中有两个指针域llink和rlink,分别指向该结点的前驱及后继。设p指向链表中的一个结点,他的左右结点均为非空。现要求删除结点p,则下列语句序列中正确的是( )。Ap-rlink-llink=p-rlink; p-llink-rlink=p-llink; delete p;Bp-llink-rlink=p-rlink; p-rlink-llink = p-llink; delete p;Cp-rlink-llink = p-llink; p-rlink-llink -rlink = p-rlink; delete p;Dp-llink-rlink = p-rlink; p-llink-rlink-link = p-llink; delete p;10. 今年(2010年)发生的事件有( )。A惠普实验室研究员Vinay Deolalikar 自称证明了PNPB英特尔公司收购计算机安全软件公司迈克菲(McAfee)C苹果公司发布iPhone 4手机D微软公司发布Windows 7 操作系统三、问题求解1LZW编码是一种自适应词典编码。在编码的过程中,开始时只有一部基础构造元素的编码词典,如果在编码的过程中遇到一个新的词条,则该词条及一个新的编码会被追加到词典中,并用于后继信息的编码。 举例说明,考虑一个待编码的信息串:“xyx yy yy xyx”。初始词典只有3个条目,第一个为x,编码为1;第二个为y,编码为2;第三个为空格,编码为3;于是串“xyx”的编码为1-2-1(其中-为编码分隔符),加上后面的一个空格就是1-2-1-3。但由于有了一个空格,我们就知道前面的“xyx”是一个单词,而由于该单词没有在词典中,我们就可以自适应的把这个词条添加到词典里,编码为4,然后按照新的词典对后继信息进行编码,以此类推。于是,最后得到编码:1-2-1-3-2-2-3-5-3-4。 我们可以看到,信息被压缩了。压缩好的信息传递到接受方,接收方也只要根据基础词典就可以完成对该序列的完全恢复。解码过程是编码过程的逆操作。现在已知初始词典的3个条目如上述,接收端收到的编码信息为2-2-1-2-3-1-1-3-4-3-1-2-1-3-5-3-6,则解码后的信息串是”_”。2.无向图G有7个顶点,若不存在由奇数条边构成的简单回路,则它至多有_条边。3.记T为一队列,初始时为空,现有n个总和不超过32的正整数依次入列。如果无论这些数具体为何值,都能找到一种出队的方式,使得存在某个时刻队列T中的数之和恰好为9,那么n的最小值是_。四、阅读程序写结果1.const size = 10;var i, j, cnt, n, m : integer; data : array1.size of integer;begin readln(n, m); for i := 1 to n do read(datai); for i := 1 to n do begin cnt := 0; for j := 1 to n do if (datai dataj) or (dataj = datai) and (j i) then inc(cnt); if cnt = m then writeln(datai); end;end.输入5 296 -8 0 16 87输出:_2.const size = 100;var na, nb, i, j, k : integer; a, b : array1.size of integer;begin readln(na); for i := 1 to na do read(ai); readln(nb); for i := 1 to nb do read(bi); i := 1; j := 1; while (i = na) and (j = nb) do begin if ai = bj then begin write(ai, ); inc(i); end else begin write(bj, ); inc(j); end; end; if i = na then for k := i to na do write(ak, ); if j = nb then for k := j to nb do write(bk, );end.输入51 3 5 7 94 2 6 10 14输出:_3.const num = 5;var n: integer;function r(n : integer) : integer;var i : integer;begin if n = num then begin r := n; exit; end; for i :=1 to num do if r(n-i) right then begin if successful then begin for i := 1 to n do writeln(ri, ); found := true; end; exit; end; for i:= left to right do begin swap(rleft, ri); perm(left + 1, right); swap(rleft, ri); end;end;begin readln(n, m); fillchar(map, sizeof(map), false); for i := 1 to m do begin readln(x, y); mapxy := true; mapyx := true; end; for i := 1 to n do ri := i; found := false; perm(1, n); if not found then writeln(No soloution);end.输入:9 121 22 33 44 55 66 11 72 73 84 85 96 9输出:_五、完善程序1.(过河问题) 在一个月黑风高的夜晚,有一群人在河的右岸,想通过唯一的一根独木桥走到河的左岸.在伸手不见五指的黑夜里,过桥时必须借照灯光来照明,不幸的是,他们只有一盏灯.另外,独木桥上最多能承受两个人同时经过,否则将会坍塌.每个人单独过独木桥都需要一定的时间,不同的人要的时间可能不同.两个人一起过独木桥时,由于只有一盏灯,所以需要的时间是较慢的那个人单独过桥所花费的时间.现在输入N(2=N b then max := a else max := b;end;function go(stage : boolean) : integer;var i, j, num, tmp, ans : integer;begin if (stage = RIGHT_TO_LEFT) then begin num := 0; ans :=0; for i := 1 to n do if posi = Rignt then begin inc(num); if timei ans then ans := timei;end;if _ thenbegin go := ans; exit;end;ans := INFINITY;for i := 1 to n 1 do if posi = RIGHT then for j := i+1 to n do if posj = RIGHT then begin posi := LEFT; posj := LEFT; tmp := max(timei, timej) + _; if tmp ans then ans := tmp; posi := RIGHT; posj := RIGHT; end;go := ans;endelse if (stage = LEFT_TO_RIGHT)then begin ans := INFINITY; for i := 1 to n do if _ then begin posi := RIGHT; tmp := _; if tmp 1) and (heapi 1) and (heap i heapi div 2) dobegin swap (i, i div 2); i := i div 2;end;while i + i = r dobeginif (i + i + 1 = r) and (heapi + i + 1 heap j thenbegin i: = jendelse break; end;end;begin readln (n, m) ;for i := 1 to n doread (value i ) ;r := 0;for i := 1 to m dobegin opt il := value i ; add (i) ;end;for i := m + 1 to n dobegin opti := remove ( ) add (i) ;end; writeln (heap 1 ) ;end.第十五届全国青少年信息学奥林匹克联赛初赛试题( 提高组 Pascal语言 二小时完成 ) 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效 一 单项选择题 (共10题,每题1.5分,共计15分。每题有且仅有一个正确答案。)1、关于图灵机下面的说法哪个是正确的:A) 图灵机是世界上最早的电子计算机。B) 由于大量使用磁带操作,图灵机运行速度很慢。C) 图灵机只是一个理论上的计算模型。D) 图灵机是英国人图灵发明的,在二战中为破译德军的密码发挥了重要作用。2、关于BIOS下面的说法哪个是正确的:A) BIOS是计算机基本输入输出系统软件的简称。B) BIOS里包含了键盘、鼠标、声卡、图形界面显器等常用输入输出设备的驱动程序。C) BIOS一般由操作系统厂商来开发完成。D) BIOS能提供各种文件拷贝、复制、删除以及目录维护等文件管理功能。3、已知大写字母A的A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论