您的位置:首页 > 其它

NOIP提高组2005-2009初赛+模拟1

2017-10-02 08:40 218 查看
为节省篇幅,程序阅读填空就不放上来了

NOIP2005

1、 字符串“ababacbab”和字符串“abcba”的最长公共子串是()

A) abcba B)cba C)abc D)ab

【分析】选择B

注意是公共子串,是要连续的,不连续的是子序列,要注意区分

2、Intel的首颗64位处理器是()

A)8088 B)8086 C)80386 D)Pentium

【分析】选择D

8086是首颗16位处理器,8088是第二个,80386是首颗32位处理器,Pentium原名为80586或i586

3、常见的邮件传输服务器使用()协议发送邮件

A) HTTP B)SMTP C)TCP D)FTP E)POP3

【分析】选择B

SMTP和POP3分别是发收邮件的协议,HTTP是超文本,TCP是通信协议,FTP是文件传输协议,与邮件不同

4、下列外设接口可以通过无线连接的方式连接设备的是()

A)USB2.0 B)红外 C)蓝牙 D)串口

【分析】选择BC

USB2.0就是一般电脑上的那个方格,红外是一种通讯距离0-1米左右的快速传输方法,蓝牙显而易见,串口就是连接的头部很大,投影仪与电脑的连接就是串口

5、以下断电之后将不能保存数据的有()

A)硬盘 B)寄存器 C)显存 D)内存

【分析】选择BCD

寄存器只是暂存指令数据和地址,显存是存图像,内存就是随机存储器。

NOIP2006

NOIP2006

1、在编程时(使用任一种高级语言,不一定是 C++),如果需要从磁盘文件中输入一个很大的二维数组 (例如 1000*1000 的 double 型数组),按行读(即外层循环是关于行的)与按列读(即外层循环是 关于列的)相比,在输入效率上( )。

A)没有区别 B)有一些区别,但机器处理速度很快,可忽略不计

C)按行读的方式要高一些 D)按列读的方式要高一些 E. 取决于数组的存储方式。

【分析】选择E

不同的语言的数组存储方式不同,输入效率的确取决于数组的存储方式。

若数组第一维存行,第二维存列,那么按行读的方式要快一些。

2、将 5 个数的序列排序,不论原先的顺序如何,最少都可以通过( )次比较,完成从小到大的排序。

A. 6 B. 7 C. 8 D. 9

【分析】选择B

比较次数为[log2n!],解得选B

设S(n)表示n个数排序(在最坏情况下)所需要的最少比较次数,在理论上可以证明:S(n)≥[log_2⁡n]。当n=5时,S(n)=7,即至少需要进行7次比较。具体比较方法如下:

首先,将第1、2个数进行比较,然后再将第3,4个数进行比较,最后再将2次比较的大数再进行一次比较,这样共经过3次比较后,可得到下面的关系,其中箭头表示两个有序数(从小指向大)。



然后,将e插入有序连abd,这经过2次比较总能做到,比较结果如下:







最后,最多经过2次比较,就可以将c插入到其余4个数组成的有序链中,从而完成排序。

3、在下列各数据库系统软件中,以关系型数据库为主体结构的是 SQL和bas一定是()。

A) ACCESS (微软) B)SQL Server(由OIns.收集)

C)Oracle(稳定性更高) D)Foxpro

【分析】选择ABCD

数据库结构类型有三类,关系型,层次型,网状型

目前接触到的数据库结构都是关系型(oracle ,SQL sever,Acess,My SQL,foxpro,sybase),

层次型:IMS为典型代表

网状型:DBTG为典型代表

4、将2006 个人分成若干不相交的子集,每个子集至少有 3 个人,并且:

(1)在每个子集中,没有人认识该子集的所有人.

(2)同一子集的任何 3 个人中,至少有 2 个人互不认识.

(3)对同一子集中任何 2 个不相识的人,在该子集中恰好只有 1 个人认识这两个人.则满足上述条件的子集最多能有 _ _ _ _ _个.

【分析】答案是401

首先,“最多能有多少个”说明只需要考虑最多能形成的子集个数(不考虑多余的部分),加上“每个子集至少有 3 个人”,那么,必须满足四个条件。

如果有3个人:由(2),设A和B互不认识,由(3)C一定认识A和B,这与(1)互相矛盾。

如果有4个人:A、B、C、D,由(2),至少有两个人互不认识,设A与B互不认识。由(3),可设A,B的熟人为C,于是C不能认识D,否则C就认识所有人与(1)矛盾。再由(3),可设C,D的熟人是A,于是B不能认识D,否则B也是C,D的熟人,与(3)矛盾。而B,D的熟人不能是A,否则就认识所有人,与(1)矛盾。同样,B,D的熟人不能是C。于是,B,D没有共同的熟人,与(3)矛盾。

至少5个人的子集可以满足(1)(2)(3)。以5人为例,设A认识B,B认识C,C认识D,D认识E,E认识A,此外没有其他的相认关系,显然满足所有的条件。

于是,答案为[2006/5]=401.

NOIP2007

1、 在以下各项中,()不是CPU 的组成部分。

A)控制器 B)运算器 C)寄存器 D)主板 E)算术逻辑单元(ALU)

【分析】选择D

CPU由控制器,运算器,寄存器组成,算数逻辑单元是cpu的执行单元,位于运算器中

主板位于存储器中。

2、在关系数据库中,存放在数据库中的数据的逻辑结构以( )为主。

A)二叉树 B)多叉树 C)哈希表 D)B+树 E)二维表

【分析】选择E

数据库有层次型数据库,关系型数据库,网状数据库。

层次是树,关系是二维表,网状是链接指针。

3、在C 语言中,表达式23|2^5的值是()

A)23 B)1 C)18 D)32 E)24

【分析】选择A

^的优先级比|高,因此应该先算2^5。

2^5是7,7|23=23

下图是c++基本位运算运算符的优先级



4、一个无法靠自身的控制终止的循环称为“死循环”,例如,在C 语言程序中,语句“while(1)

printf(“”);”就是一个死循环,运行时它将无休止地打印号。下面关于死循环的说法中,只有()是正确的。

A)不存在一种算法,对任何一个程序及相应的输入数据,都可以判断是否会出现死循环,因而,任何编译系统都不做死循环检验

B)有些编译系统可以检测出死循环

C)死循环属于语法错误,既然编译系统能检查各种语法错误,当然也应该能检查出死循环

D)死循环与多进程中出现的“死锁”差不多,而死锁是可以检测的,因而,死循环也是可以检测的

E)对于死循环,只能等到发生时做现场处理,没有什么更积极的手段

【分析】选择A

5、在下列关于计算机语言的说法中,正确的有()。

A)高级语言比汇编语言更高级,是因为它的程序的运行效率更高

B)随着Pascal、C等高级语言的出现,机器语言和汇编语言已经退出了历史舞台

C)高级语言程序比汇编语言程序更容易从一种计算机移植到另一种计算机上

D)C是一种面向过程的高级计算机语言

【分析】选择CD

高级语言还要转化成机器语言,才能让电脑运行,而这个转化的过程需要时间,但是汇编语言不用转化,因此运行效率更高。

然而低级语言没有退出历史舞台,还应用在硬件层,对硬件直接控制,也应用于单片机。汇编公司如果没有别的编译器来适应不同的操作系统,就不能编译了。

Fortran、C、Pascal是面向过程的,c++、java是面向对象的。

6、 在下列关于算法复杂性的说法中,正确的有()。

A)算法的时间复杂度,是指它在某台计算机上具体实现时的运行时间

B)算法的时间复杂度,是指对于该算法的一种或几种主要的运算,运算的次数与问题的规模之间的函数关系

C)一个问题如果是NPC类的,就意味着在解决该问题时,不存在一个具有多项式时间复杂度的算法。但这一点还没有得到理论上的证实,也没有被否定

D)一个问题如果是NP类的,与C有相同的结论

【分析】选择BC

解析:时间复杂度是一种函数关系

NP:多项式的时间和空间内可以被验证的问题

NPC:属于NP问题,也属于NP_Hard问题

7、 近20年来,许多计算机专家都大力推崇递归算法,认为它是解决较复杂问题的强有力的工具。在下

列关于递归算法的说法中,正确的是()。

A)在1977年前后形成标准的计算机高级语言“FORTRAN77”禁止在程序使用递归,原因之一是该方法可能会占用更多的内存空间

B)和非递归算法相比,解决同一个问题,递归算法一般运行得更快一些

C)对于较复杂的问题,用递归方式编程往往比非递归方式更容易一些

D)对于已经定义好的标准数学函数sin(x),应用程序中的语句“y=sin(sin(x));”就是一种递

归调用

【分析】选择AC

递归要用到栈内存,且运行速度会比较慢,这也就是为什么可以用递归写的dp题可以优化成用循环写。

构成递归需具备的条件:子问题须与原始问题为同样的事,且更为简单; 不能无限制地调用本身,须有个出口,化简为非递归状况处理。

8、给定n 个有标号的球,标号依次为1,2,…,n。将这n 个球放入r 个相同的盒子里,不允许有空盒,其不同放置方法的总数记为S(n,r)。例如,S(4,2)=7,这7 种不同的放置方法依次为{(1),(234)}, {(2),(134)}, {(3),(124)}, {(4),(123)}, {(12),(34)}, {(13),(24)},{(14),(23)}。当n=7,r=4 时,S(7,4)= [b]___[/b]。

【分析】答案是350

本题源于经典dp题之n的m划分。

定义S(n,m)是前n个球放在m个盒子里且没有空盒的方案。

转移的方程:S(n,m)=S(n-1,m)*m+S(n-1,m-1).考虑第i个放置位置,如果当前m个都不是空的,i可以放在m个中的任意一个位置,如果第m号是空的,那么i只能放在第m号上。

另一种排列组合的方法运算起来是

C(7,1) * C(6,2) * C(4,2) * C(2,2) / P(3,3)+C(7*3) * C(4,2) + C(7,4)=350

7 * 15 * 6 * 1 / 6 + 35 * 6 + 35 =350

另2007年的程序阅读很有挑战性,读者颗自行查阅尝试。

NOIP2009

1、在字长为16位的系统环境下,一个16位带符号整数的二进制补码为1111111111101101。其对应的十进制整数应该是:

A)19 B)-19 C)18 D)-18

【分析】选择B

1111111111101101 的原码为:

1000000000010011 也就是-19,最高位为符号位,不变动。

其中对于 正数:原码=反码=补码 负数:原码与反码符号位不变,其他相反 补码为反码+1

2、表达式a*(b+c)-d的后缀表达式是:

A)abcd*+- B)abc+d- C)abc+d- D)-+*abcd

【分析】选择B

主要是考树的遍历,要明白前缀、中缀和后缀表达式。

构造二叉树,操作数做叶子节点,运算符做非叶节点。先把中序表达式按中序遍历就可以得到树,再按后序遍历得到后缀表达式。

此题为

3、关于CPU下面哪些说法是正确的:

A)CPU全称为中央处理器(或中央处理单元)。

B)CPU能直接运行机器语言。

C)CPU最早是由Intel公司发明的。

D)同样主频下,32位的CPU比16位的CPU运行速度快一倍。

【分析】选择AB

C项中,Intel最早发明的是微处理器,而CPU之前就由电子管、晶体管实现着呢

D项中,位数只能说明处理的字长,所在的系统硬件指令不同,速度很难说谁快。

4、关于计算机内存下面的说法哪些是正确的:

A)随机存储器(RAM)的意思是当程序运行时,每次具体分配给程序的内存位置是随机而不确定的。

B)一般的个人计算机在同一时刻只能存/取一个特定的内存单元。

C)计算机内存严格来说包括主存(memory)、高速缓存(cache)和寄存器(register)三个部分。

D)1MB内存通常是指1024*1024字节大小的内存。

【分析】选择BD

一般是对字节的一个单元串行操作。1MB=1024KB=1024*1024B

A中RAM不是位置随机,而是随时访问,所谓“随机存取”,指的是当存储器中的消息被读取或写入时,所需要的时间与这段信息所在的位置无关。

C中高速缓存和寄存器的物理实现是集成在CPU中,这两部分不属于冯诺依曼体系中的五大部分的任意一个部分。五大体系是运算器、控制器、存储器、输入设备、输出设备

5、关于计算机网络,下面的说法哪些是正确的:

A)网络协议之所以有很多层主要是由于新技术需要兼容过去老的实现方案。

B)新一代互联网使用的IPv6标准是IPv5标准的升级与补充。

C)TCP/IP是互联网的基础协议簇,包含有TCP和IP等网络与传输层的通讯协议。

D)互联网上每一台入网主机通常都需要使用一个唯一的IP地址,否则就必须注册一个固定的域名来标明其地址。

【分析】选择C

A网络协议分层不是为了兼容,而是根据网络分层模型来的。

B新的IPv6是IPv4的升级。

D即使注册了域名也要有IP地址的。

6、1.拓扑排序是指将有向无环图G中的所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若< u,v >∈E(G),则u在线性序列中出现在v之前,这样的线性序列成为拓扑序列。如下的有向无环图,对其顶点做拓扑排序,则所有可能的拓扑序列的个数为__

【分析】432

其实就是一道排列组合题,看清题意后可知8和9要最后算

5是独立出来的,其他数就要严格按拓扑序弄,最后答案是

C(2,1)×C(6,1)×[C(8,1)+C(8,2)]=2×6×(8+28)=432

NOIP模拟赛1

1、下列叙述中错误的是()。

A、微机应避免置于强磁场之中 B、微机使用时间不宜过长,而应隔几个小时关机一次

C、微机应避免频繁关开,以延长其使用寿命

D、微机应经常使用,不宜长期闲置不用

【分析】选择B

微机是体积小的计算机,根据生活经验可知,微机并不需每隔几小时就关机一次。

2、下列不正确的文件名是()。

A. command。Com B. command_com C. command,com D. command:com

【分析】选择D

文件名中不可出现< > / \ | : ” * ?

3、通信时,模拟信号也可以用数字信道来传输,能实现模拟信号与数字信号之间转换功能的是()

A、D/A B、A/D C、Modem D、Codec

【分析】选择D

D/A 为数字信号转模拟信号

A/D 为模拟信号转数字信号

Modem即为日常所说的“猫”,它在发送端通过调制将数字信号转换为模拟信号,在接收端通过解调再将模拟信号转换为数字信号,并不能说模拟信号可以用数字信道来传输,Modem为网络单方面传输给用户,不存在通信。

Codec即多媒体数字信号编解码器,主要负责数字->模拟信号转换(D/A)和模拟->数字信号的转换(A/D)

4、下面不属于网络操作系统的是()

A、UNIX B、WINDOWS NT C、NETWARE D、DOS

【分析】选择D

A:强大的多用户多任务操作系统,属于分时操作系统

B:Microsoft Windows NT (New Technology)是Microsoft在1993年推出的面向工作站、网络服务器和大型计算机的网络操作系统,也可做PC操作系统

C:Netware是NOVELL公司推出的网络操作系统。Netware最重要的特征是基于基本模块设计思想的开放式系统结构

D:dos,是磁盘操作系统的缩写,是个人计算机上的一类操作系统,不属于网络操作系统

主要的网络操作系统有Windows,UNIX,Linux,NETWARE四个

5、对一般的二维数组G而言,当()时,其按行存储的G[i,j]的地址与按列存储 的G[j,i]的地址相同。

A、 G的列数与行数相同。 B、 G的列的上界与G的行的上界相同。

C、 G的列的下界与行的下界相同。 D、 G的列的上界与行的下界相同。

【分析】选择A

按行优先顺序存储的二维数组Amn地址计算公式:LOC(aij)=LOC(a11)+[(i-1)×n+j-1]×d ;按列优先顺序存储的二维数组Amn地址计算公式LOC(aij)=LOC(a11)+[(j-1)×m+i-1]×d其中LOC(a11)是开始结点的存放地址(即基地址)d为每个元素所占的存储单元数 ;由上述公式可知,当m==n时才会与题意相符;

6、一副扑克牌除去大小王外,有52张牌。其中有黑桃、红心、方块、梅花四种花色,每种花色点数从小到大各有13张。在上述52张中任取5张,取得炸弹(four of a kind,即四张点数相同的牌加一张另外点数的牌)的取法数有[b]___[/b]种;取得辅鲁(full house,即三张点数相同另加二张点数相同牌)的取法数有[b]___[/b]多少种?请注意,二种取法中,只要有一张牌花色不同或点数不同,这二种取法就是不同的。

【分析】624 3744

第一个空:选四张的情况是13,剩下(52-4)=48中选一张,答案13*48=628

第二个空:四张里选三张,13种花色,及(4C3)*13,剩下12种花色四张选两张,就是(4C2)*12,答案是4*13*12*6=3744
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: