搜档网
当前位置:搜档网 › (完整word)NOIP2010提高组初赛试题及详细解析

(完整word)NOIP2010提高组初赛试题及详细解析

(完整word)NOIP2010提高组初赛试题及详细解析
(完整word)NOIP2010提高组初赛试题及详细解析

第十六届全国青少年信息学奥林匹克联赛初赛试题

( 提高组 C++ 语言 两小时完成 )

? ? 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效 ??

、单项选择题 (共 10 题,每题 1.5 分,共计 15 分。每题有且仅有一个正确选项。 )

1.与十六进制数 A1.2 等值的十进制数是( )

A . 101.2

B . 111.4

C . 161.125

D . 177.25

&主存储器的存取速度比中央处理器 (CPU )的工作速度慢的多,从而使得后者的效率受到影响。而

根据局部性原理,CPU 所访问的存储单元通常都趋于一个较小的连续区域中。于是,为了提高系统 整体的执行

效率,在 CPU 中引入了( )。

A .寄存器

B .高速缓存

C .闪存

D .外存

9.完全二叉树的顺序存储方案,是指将完全二叉树的结点从上到下、从左到右依次存放到一个顺序 结构的数组中。假定根结点存放在数组的 1 号位置上,则第 k 号结点的父结点如果存在的话,应当 存放在数组中的( )号位置。 A .2k

B .2k+1

C .k/2 下取整

D .(k+1)/2

2.一个字节( byte )由( )个二进制组成。 A .8

B .16

上都有可能

3.以下逻辑表达式的值恒为真的是( )。

A . P V (n P A Q )V (n P 心 Q )

B

C . P V Q V ( P A n Q )V (n P A Q )

D 4 . Linux 下可执行文件的默认扩展名是 ( ) 。 A.

exe B. com

都不是

C .

32 D .以

Q V( n P A Q )V (P A n Q )

P V n Q V( P A n Q V (n P A n Q)

C. dll

D.

以上

5 .如果在某个进制下等式 7*7=41 成立,那么在该进制下等式 12*12= ( A. 100

B. 144

C. 164 )也成立。

D. 196

6 .提出“存储程序”的计算机工作原理的是(

A. 克劳德 ?香农

B. 戈登?摩尔

)。

C. 查尔斯 ?巴比奇

D. 冯?诺依曼

7 .前缀表达式“ + 3 * 2 + 5 12 ” 的值是( )。

A. 23

B. 25

C. 37

D. 6

10.以下竞赛活动中历史最悠久的是( )。 A .全国青少年信息学奥林匹克联赛(

NOIP )

B.

全国青少年信息学奥林匹克竞赛( NOI )

C. 国际信息学奥林匹克竞赛(101 ) D .亚太地区信息学奥林匹克竞赛(

API0)

选均不得分)。

1 .兀素 R1、R2、R3 R4 R5入栈的顺序为 R1、R2、R3 R4、R5。如果第1个出栈的是 R3,那么第

5 个出栈的可能是 ( ) 。

A . R1

B . R2

C . R4

D . R5

2. Pascal 语言, C 语言和 C++语言都属于(

) 。

A .高级语言

B .自然语言

C.解释性语言

D

.编译性语言

( 除了存储待排序元素以外的 ) 辅助空间的大小与数据规模无关的排序

( ) 。

.插入排序

C .基数排序

D .选择排序

4. 在整数的补码表示法中,以下说法正确的是( )。 A .只有负整数的编码最高位为 1

B .在编码的位数确定后,所能表示的最小整数和最大整数的绝对值相同

C .整数 0只有一个唯一的编码

D .两个用补码表示的数相加时,如果在最高位产生进位,则表示运算溢出 5.

—颗二叉树的前序遍历序列是 ABCDEFG 后序遍历序列是 CBFEGD ,则

根结点的左子树的结点个 数可能是( )。

A . 0

B . 2

C . 4

D . 6

6 .在下列HTML 语句中,可以正确产生一个指向 N0I 官方网站的超链接的是(

)。

A . 欢迎访问 N0I 网站

B . 欢迎访问 N0I 网站

C . https://www.sodocs.net/doc/0517442237.html,

D . 欢迎访问 NOI 网站

7.关于拓扑排序,下列说法正确的是 ( ) 。

A .所有连通的有向图都可以实现拓扑排序

B .对同一个图而言,拓扑排序的结构是唯一的

C .拓扑排序中入度为 0的结点总会排在入度大于 0的结点的前面

D .拓扑排序结果序列中的第一个结点一定是入度等于 0 的点

、不定项选择题 (共 10题,每题 1.5 分,共计 15 分。每题正确答案的个数不少于

1。多选或少

3.原地排序是指在排序过程中 算法。以下属于原地排序的有 A .冒泡排序

B

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,则下列语句序列中正确的是()。

A . p->rlink->llink=p->rlink;

p->llink->rlink=p->llink; delete p;

B . p->llink->rlink=p->rlink;

p->rlink->llink = p->llink; delete p;

C . p->rlink->llink = p->llink;

p->rli nk->lli nk ->rl ink = p->rl ink; delete p;

D . p->llink->rlink = p->rlink;

p->llink->rlink->link = p->llink; delete p;

10 .今年(2010年)发生的事件有()。

A ?惠普实验室研究员Vi nay Deolalikar 自称证明了吐NP

B .英特尔公司收购计算机安全软件公司迈克菲(McAfee)

C .苹果公司发布iPhone 4手机

D .微软公司发布Windows 7操作系统

三?问题求解(共2题,每空5分,共计10分)

1. LZW编码是一种自适应词典编码。在编码的过程中,开始时只有一部基础构造元素的编码词典,如果在编码的过程中遇到一个新的词条,则该词条及一个新的编码会被追加到词典中,并用于后继信息的编码。

举例说明,考虑一个待编码的信息串:" xyx yy yy xyx "。初始词典只有3个条目,第一个为x,编码为1;第二个为y,编码为2;第三个为空格,编码为 3 ;于是串"xyx ”的编码为1-2-1

(其中-为编码分隔符),加上后面的一个空格就是1-2-1-3。但由于有了一个空格,我们就知道前

面的“ xyx”是一个单词,而由于该单词没有在词典中,我们就可以自适应的把这个词条添加到词典里,编码为4,然后按照新的词典对后继信息进行编码,以此类推。于是,最后得到编码:

121-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 ,则解码后的信息串是

a ??

2.无向图G有7个顶点,若不存在由奇数条边构成的简单回路,则它至多有 __________________ 条边。

3 .记T为一队列,初始时为空,现有n个总和不超过32的正整数依次入列。如果无论这些数具体

为何值,都能找到一种出队的方式,使得存在某个时刻队列T中的数之和恰好为9,那么n的最小

值是____________ 。

四?阅读程序写结果(共4题,每题8分,共计32 分)

1 .

#in clude

using n amespace std;

int mai n()

{

const int SIZE=10;

int data[SIZE],i,j,c nt,n,m;

cin?n?m;

for(i=1;i<=n ;i++)

cin> >data[i];

for(i=1;i<=n ;i++)

{

cnt=0;

for(j=1;j<=n ;j++)

if( (data[i]

if (cn t==m)

cout<

}

return 0;

}

输入:

5 2

96 -8 0 16 87

输出:_______________

2.

#in clude

using n amespace std;

int mai n()

{

const int SIZE=100;

int n a, nb,a[SIZE],b[SIZE],i,j,k;

cin?na;

for(i=1;i<=n a;i++)

cin> >a[i];

cin?nb;

for(i=1;i<=n b;i++)

cin> >b[i];

i=1;

j=1;

while( (i<=na)&&(j<=nb) ) {

if(a[i]<=b[j])

{

cout<

}

else

{

cout<

}

}

if(i<=na)

for(k=i;k<=na;k++) cout<

if(j<=nb)

for(k=j;k<=nb;k++) cout<

return 0;

}

输入:

5

1 3 5 7 9

4

2 6 10 14

输出:________________

3.

#include

using namespace std;

const int NUM=5;

int r(int n)

{

int i;

if(n<=NUM)

return 0; for(i=1;i<=NUM;i++)

if( r(n-i)<0)

return i;

return -1;

}

int main()

{

int n;

cin>>n;

cout<

return 0;

}

输入:

16

输出:______________

4.

#include #include using namespace std; const int SIZE=100;

int n,m,r[SIZE];

bool map[SIZE][SIZE],found;

bool successful()

{

int i;

for(i=1;i<=n;i++) if(!map[r[i]][r[i%n+1]]) return false;

return true;

}

void swap(int *a,int *b)

{

int t;

t=*a;

*a=*b;

*b=t;

}

void perm(int left,int right)

{

int i;

if(found)

return ;

if(left>right)

{ if(successful()) {

for(i=1;i<=n;i++)

cout<

found=true;

}

return ;

}

for(i=left;i<=right;i++)

{

swap(r+left,r+i); perm(left+1,right); swap(r+left,r+i);

}

}

int main()

{

int x,y,i;

cin>>n>>m;

memset(map,false,sizeof(map));

for(i=1;i<=m;i++)

{

cin>>x>>y;

map[x][y]=true;

map[y][x]=true;

}

for(i=1;i<=n;i++)

r[i]=i;

found=false;

perm(1,n);

if(!found)

cout<<"No solution!"<

return 0;

}

输入:

9 12

1 2

2 3

3 4

4 5

5 6

6 1

1 7

2 7

3 8

4 8

5 9

6 9

输出:_________ 五.完善程序( 第 1 题,每空 2 分,第 2 题,每空 3 分,共28 分)

1.(过河问题) 在一个月黑风高的夜晚, 有一群人在河的右岸,想通过唯一的一根独木桥走到河的左岸.在伸手不见五指的黑夜里,过桥时必须借照灯光来照明,不幸的是,他们只有一盏灯.另外, 独木桥

上最多能承受两个人同时经过, 否则将会坍塌. 每个人单独过独木桥都需要一定的时间, 不同的人要的时间可能不同. 两个人一起过独木桥时, 由于只有一盏灯,所以需要的时间是较慢的那个人单独过桥所花费的时间?现在输入

N(2<=N<1000)和这N个人单独过桥需要的时间,请计算总共最少需要多少时间, 他们才能全部到达河左岸.

例如,有3个人甲、乙、丙,他们单独过桥的时间分别为1、2、4,则总共最少需要的时间为7.

具体方法是:甲、乙一起过桥到河的左岸,甲单独回到河的右岸将灯带回,然后甲、丙在一起过桥到河的左岸, 总时间为2+1+4=7.

#include

#include

using namespace std;

const int SIZE=100;

const int INFINITY = 10000;

const bool LEFT=true;

const bool RIGHT =false;

const bool LEFT_TO_RIGHT=true;

const bool RIGHT_TO_LEFT=false;

int n,hour[SIZE];

bool pos[SIZE];

int max(int a,int b)

{

if(a>b)

return a;

else

return b;

}

int go(bool stage)

{

int i,j,num,tmp,ans;

if(stage==RIGHT_TO_LEFT)

{

num=0;

ans=0;

for(i=1;i<=n ;i++)

if(pos[i]==RIGHT)

{

nu m++;

if( hour[i]>a ns)

an s=hour[i];

}

if( ①)

return ans;

an s=INFINITY;

for(i=1;i<=n _1;i++)

if(pos[i]==RIGHT)

for(j=i+1;j<=n ;j++) if(pos[j]==RIGHT)

{

pos[i]=LEFT;

pos[j]=LEFT;

tmp=max(hour[i],hour[j])+ if(tmp

an s=tmp;

pos[i]=RIGHT;

pos[j]=RIGHT;

}

return ans;

}

if(stage==LEFT_TO_RIGHT)

{

an s=INFINITY;

for(i=1;i<=n ;i++)

if( ③)

{

pos[i]=RIGHT;

tmp= _______ ④

if(tmp

an s=tmp;

return ans;

}

return 0;

}

int main()

{

int i;

cin>>n;

for(i=1;i<=n;i++)

{

cin>>hour[i];

pos[i]=RIGHT;

}

cout<

return 0;

}

2. (烽火传递) 烽火台又称烽燧,是重要的军事防御设施,一般建在险要处或交通要道上。一旦有敌情发生,白天燃烧柴草,通过浓烟表达信息;夜晚燃烧干柴,以火光传递军情。在某两座城市之间有n 个烽火台,每个烽火台发出信号都有一定的代价。为了使情报准确地传递,在连续的m 个烽火台中至少要有一个发出信号。现输入n、m 和每个烽火台发出信号的代价,请计算总共最少花费

多少代价,才能使敌军来袭之时,情报能在这两座城市之间准确传递。

例如,有5个烽火台,他们发出信号的代价依次为1, 2, 5, 6, 2,,且m为3,则总共最少花费代价为4,即由第 2 个和第 5 个烽火台发出信号。

#include

#include

using namespace std;

const int SIZE=100;

int n,m,r,value[SIZE],heap[SIZE],

pos[SIZE],home[SIZE],opt[SIZE];

〃hep[i]表示用顺序数组储存的堆heap中第i个元素的值

〃pos[i]表示opt[i]在堆heap 中的位置,即heap[pos[i]]=opt[i]

//home[i] 表示heap[i] 在序列opt 中的位置,即opt[home[i]]=heap[i]

void swap(int i,int j)// 交换堆中的第i 个和第j 个元素

{

int tmp;

pos[home[i]]=j;

pos[home[j]]=i;

tmp=heap[i];

head[i]=head[j];

heap[j]=tmp;

tmp=home[i];

home[i]=home[j];

home[j]=tmp;

}

void add(int k)〃在堆中插入opt[k]

{

int i;

r++;

heap[r]= _______ ① _____ ;

pos[k]=r;

②;

i=r;

while( (i>1) && (heap[i]

{

swap(i,i/2);

i/=2;

}

}

void remove(int k)// 在堆中删除opt[k]

{

int i,j;

i=pos[k];

swap(i,r);;

r--;

if(i==r+1)

return ;

while( (i>1)&&(heap[i]

{

swap(i,i/2);

i/=2;

}

while(i+i<=r)

{

if( (i+i+1<=r) && (heap[i+i+1]

else

③_______ ;

if(hea[i]>heap[j])

{

______ ④ ________ ;

i=j;

} else

break;

}

int mai n()

{

int i;

cin?n?m;

for(i=1;i<=n ;i+++)

cin> >value[i];

r=0;

for(i=1;i<=m;i++)

{

opt[i]=value[i]; add(i);

}

for(i=m+1;i<=n ;i++)

{

opt[i]= ________ ⑤ _______ ;

remove( ______ ⑥ _______ );

add(i);

}

cout<

return 0;

1. 十六进制,A1 = 10 * 16 + 1 * 0 0.2 = 2 * (1/16 )所以答案选 C

2 .考察计算机基础知识,一个字节有8个二进制位组成,即1byte = 8bits ,往后是1kb = 1024b ,

1mb = 1024kb, 所以答案选A

3. A。考查语言基础之表达式计算之逻辑运算。口诀:一真或真,一假且假,p和非p不相往来。A选项中(扌人Q)V (?P A ?Q必和?P同真同假,且P和?P必有一真,故A项正确;B选项中,若P为FalseQ为False 贝U Q V (中A Q)V (P A ?Q)=V F V F=False故B 项错误;C 选项中,若P 为False Q 为False 贝U

P V Q V (P A ?Q)V (扌A Q)=F V Q V F V F=False故C 项错误;D 选项中,若P 为False Q 为True 贝U

4. 考查计算机基础知识值计算机基础。一般来说,linux 下可执行文件没有扩展名,linux 不根据扩展

名判断文件类型,而是根据文件的内容来判断,windows 下可执行文件的扩展名为exe,汇编语言编译

的可执行文件扩展名为com ;dll ,即动态链接库文件,是一种可执行文件,它允许程序共享执行特定任

务所必须的代码和资源,故选D

5. 考查进制转换,7 * 7 在十进制中应该是等于49的,但是在题目所对应的进制中等于41,4 * 12

+ 1 = 49 ,说明题目所对应的进制是12,故12 * 12 在12进制中应该是100,选A

6. 考查计算机的基础知识,计算机基本工作原理是存储程序和程序控制,它是由美籍匈牙利数学家冯诺

依曼提岀的,因此冯诺依曼被称为“计算机之父”,故选D

7. 考察语言基础值表达式计算。前缀表达式的算法是构造一个运算符栈,满足入栈的两个数能和离栈顶

最近的运算符进行运算时进行计算并整理到栈顶,在题目所给出的表达式中,首先+入栈,3入栈,*入

栈,2入栈,+入栈,5入栈,12入栈,此时+5 12 可以进行运算得到17,*2 17 得到34,+ 3 34

得到37,所以最后答案就是37.选C

8. 考察计算机硬件系统,高速缓冲存储器是存在于主存与CPU之间的一级存储器,有静态存储芯片组成,

容量比较小,但是速度比主存快的多,接近于CPU的速度,在计算机存储系统的层次结构中,是介于中

央处理器和主存储器之间的高速小容量存储器,它和主存储器一起构成一级的存储器,高速缓冲存储器

和主存储器之间的信息调度和传送是有硬件自动进行的。故选B

9. 考察二叉树的存储,对于一颗完全二叉树,树的根节点在1位置,i节点的的左子节点为2*i ,右子

节点为2*i+1 。且对于任意节点而言,其父节点为i/2,向下取整。故选C

10. A:全国青少年信息学奥林匹克联赛( National Olympiad in Informatics in Provinces ,

简称NOIP )自1995年至今已举办16次。B:1984 年邓小平指岀:“计算机的普及要从娃娃做起。”

教育部和中国科协委托中国计算机学会举办了全国青少年计算机程序设计竞赛(简称:NOI ),1984年

参加竞赛的有8000多人。C:1987年,保加利亚的Sendov教授在联合国教科文组织第24届全体会议

上,倡议举行国际信息学奥林匹克,定名为International Olympiad in Informatics ,简称IOI。

D:IOI2006 期间,部分亚洲与太平洋地区参赛团领队在多次领队会协商的基础上,经IOI主席、IOI

国际委员会与科学委员会批准决定从2007年开始举办该项赛事

二.多项选择题:

1. BCD,在R3入栈之前,堆栈应该是R1,R2因此,R2肯定在R1之前岀栈,所以R2不可能是最后一

个出栈的,除此之外,其他元素都有可能。

2. AD,这三种语言都是抽象层次较高的高级语言,溶蚀也是编译语言,需要编译运行

3. ABD,冒泡排序与插入排序与选择排序都不需要额外的空间,而基数排序需要额外的哈希空间。

4. AC。补码特性,正0和负0表示相同,最高位产生进位的话,由于计算机的运算器内存空间是固定的,

所以会将新产生的最高位去掉,不会溢出。

5. B,显然根节点是A,然后有前序遍历第一个节点是B,后序遍历倒数第二个节点是D可以得到,B属

于左子树的根节点,D属于右子树的根节点。由于D是右子树的根节点,故左子树只有BC两个节点。

6. B .Href超文本应用,<a>标签的href 树形用于指定超链接目标的URL, name属性用来指定ANCHOR

的名称。

7. 拓扑排序从入度等于0的节点出发,只要求有边的直接或间接指向关系的节点的出现次序,并没有要

求没有直接或间接相连的节点的关系,故入度为0的点不一定在入度大于0的节点前面。

8. D ?因为点(1,1,1) 与点(2,0,0) 形成的向量为(1,-1,-1) 因为法向量与平面上向量的乘积为0,所

以D满足要求。

9. BCD如果要删除一个双向链表的一个节点P,则P的右节点的左指针应该指向P现在的左节点,P的

左节点的右指针应该指向现在P节点的右节点,故答案BCD

10. ABC。百度可知,答案ABC

三?问题求解:

1. yyxy xx yyxy xyx xx xyx

注意在解得时候只知道1->x;2->y;3-> ' ‘ ;至于4,5是不能沿用上一个而是这个新的的,所以

4->yyxy;5->xx;6->xyx 。

2.12 首先理解回路:闭合环路,因为不存在由奇数边构成的简单回路,由于是无向图,所以最多12条

3.18 设T的队列顺序为a1,a2,a3 …an,设bi为前i项数之和,贝U b0=0 ,b仁a1 , b2=a1+a2 ,

b3=a1+a2+a3 …。如队列T中的数之和恰好为9,实际上即是找到某个bj和bi ,使得bj-bi=9 。

由题意可知bi取值范围为1-32,现将这32个数构造为集合{1,10}, {2,11}, …,{8,17},

{18,27}, {19,28}, …,{23,32} ,{24},{25},{26} ,这17个集合中的任一个集合不能包含两个

或两个以上的,否则它们的差为9。例如设n=17时,队列T为11111111 10 11111111 ,即b1=1,

b2 =2,…b8=8, b9 =18, b10=19, b1仁20…b17=26, 它们中没有任意两个数是在同一集合内的,

所以不存在数之和恰好等于9。故根据抽屉原理可得,当n=18时,至少存在两个在同一个集合,即它

们的差为9。因此,答案为n=18。

四.

1. 分析一下代码的意思,对于数组中的每一个元素,找到大于等于他的个数A,如果这个个数A==m的

话,就输岀这个数。(输岀数组中符合条件的数,条件是,这个数组中大于等于该数值的元素个数为m)

所以输岀应该是:16

2. 分析一下代码的意思,其实是类似于归并排序合并两个有序的小数组时候的操作一样的,这里是输岀两个有序的小数组,使得最后的输岀有序。

输岀:1 2 3 5 6 7 9 14

3.4考察递归的思想,r(0)-r(5) 都会返回0, r(6)递归到r(1)到r(5)最后返回-1,则r(7)返回1,r(8) 返回2,r(9) 返回3,r(10) 返回4。。r(12) 返回-1 ??到r(16) 返回

4.

4. 1 6 9 5 4 8 3 2 7 (慢慢模拟)

五.

1. 本题思路不难,从右边找两个到左边,然后从左边找一个去右边。代码用递归实现,注意回溯

a. 当右边的人数小于等于2是,可以一次带完,返回答案

b. 向下递归找到接下来所需要花费的时间。

c. 判断一下,这个人应该要在左边。

d. 向下传递需要花费的时间,注意需要加上当前这个人往右边走花费的时间

e. 回溯,还原第i个人的状态。

2. 考察二叉堆的插入和删除操作,上滤,下滤操作,难度不大。

①opt[k]堆的插入操作

②home[r] = k两个数组互相记录下标

③j = i + i (或j = 2 * i或j = i * 2 ) 左节点与父节点交换

④swap(i, j)(或swap(j, i))

⑤value[i] + heap[1](或heap[1] + value[i]) 需要记录总费用。

⑥i - m 将前面过时的信息删除

NOIP2010年提高组(C++语言)参考答案与评分标准

不定项选择题(共10题,每题1.5分,共计15分。每题正确答案的个数大于

三、问题求解:(共3题,每空5分,共计15分)

1 . yyxy xx yyxy xyx xx xyx

2 . 12

3 . 18

四、阅读程序写结果(共4题,每题7分,共计28分)

1 . 16

2 . 1 2

3 5 6 7 9 10 14

3 . 4

4 . 1 6 9

5 4 8 3 2 7

五、、完善程序(第1空2分,其余10空,每空2.5分,共计27分)

(说明:以下各程序填空可能还有一些等价的写法,各省可请本省专家审定和上机验证,

不一定上报科学委员会审查)

1 .

①num <= 2 (或num < 3 或num = 2)

②go(LEFT_TO_RIGHT)

③pos[i] = =LEFT (或LEFT = pos[i])

④hour[i] + go(RIGHT_TO_LEFT)(或go(RIGHT_TO_LEFT) +hour[i])

⑤pos[i] = LEFT

本小题中,LEFT 可用true 代替,LEFT_TO_RIGHT 可用true 代替,RIGHT_TO_LEFT 可用false 代替。

2 .

①opt[k]

②home[r] = k

③j = i + i (或j = 2 * i 或j = i * 2 )

④swap(i, j)(或swap(j, i))

⑤value[i] + heap[1](或heap[1] + value[i])

⑥i - m

NOIP2012初赛普及组C++题目及答案

第十八届全国青少年信息学奥林匹克联赛初赛 (普及组C++语言试题) 竞赛时间:2012年10月13日14:30~16:30 选手注意: ●试题纸共有10页,答题纸共有2页,满分100分。请在答题纸上作答,写在试题纸上一律无效。 ●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料 一、单项选择题(共20题,每题1.5分,共计30分;每题且仅有一个正确选项) 1.计算机如果缺少(),将无法正常启动。 A.内存B.鼠标C.U盘D.摄像头 2.()是一种先进先出的线性表。 A.栈B.队列C.哈希表(散列表)D.二叉树 3.目前计算机芯片(集成电路)制造的主要原料是(),它是一种可以在沙子中提炼出的物质。 A.硅B.铜C.锗D.铝 4.十六进制数9A在()进制下是232。 A.四B.八C.十D.十二 5.()不属于操作系统。 A.Windows B.DOS C.Photoshop D.NOI Linux 6.如果一棵二叉树的中序遍历是BAC,那么它的先序遍历不可能是()。 A.ABC B.CBA C.ACB D.BAC 7.目前个人电脑的()市场占有率最靠前的厂商包括Intel、AMD等公司。 A.显示器B.CPU C.内存D.鼠标 8.使用冒泡排序对序列进行升序排列,每执行一次交换操作系统将会减少1个逆序对,因此序列5,4,3,2,1需要执行()次操作,才能完成冒泡排序。 A.0 B.5 C.10 D.15 9.1946年诞生于美国宾夕法尼亚大学的ENIAC属于()计算机。 A.电子管B.晶体管C.集成电路D.超大规模集成电路 10.无论是TCP/IP模型还是OSI模型,都可以视为网络的分层模型,每个网络协议都会被归入某一层中。如果用现实生活中的例子来比喻这些“层”,以下最恰当的是()。 A.中国公司的经理与波兰公司的经理交互商业文件

NOIP2011普及组复赛(试题+源程序)

NOIP2011 普及组复赛 1 .数字反转(reverse.cpp/c/pas ) 【问题描述】 给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为 零,否则反转后得到的新数的最高位数字不应为零。(参见样例2) 【输入】 输入文件名为reverse. in 。 输入共一行,一个整数No 【输出】 输出文件名为reverse.out 。 输出共1行,一个整数,表示反转后的新数。 【输入输出样例1】 -1,000,000,000 < N< 1,000,000,000 。 【解题】这道题非常简单,可以读字符串处理,也可以读数字来处理,只不过要注意符号问题(以及但测试数据没出)。 -0 , 【法一】字符串处理 Var i,l,k:i nteger; s:stri ng; p:boolea n; begin assig n(i nput, 'reverse.i n'); reset(i nput); assig n(o utput, 'reverse.out'); rewrite(output); readl n( s); l:=le ngth(s); k:=1; if s[1]=' -' the n begin write('-'); k:=2; en d; p:=true;; for i:=l dow nto k do begin if(p)a nd((s[i]='0')) the n continue else begin write(s[i]); p:=false;; en d; en d; close(i nput); close(output); en d. 【法二】数字处理 Var f:i nteger; n,an s:lo ngint; begin assig n(i nput, 'reverse.i n'); reset(i nput); assig n(o utput, 'reverse.out'); rewrite(output); readl n(n); if n<0 the n begin f:=-1; n :=-n;

NOIP2009提高组初赛试题及答案

第十五届全国青少年信息学奥林匹克联赛初赛试题 (提高组 Pascal语言二小时完成) ●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●● 一.单项选择题(共10题,每题1.5分,共计15分。每题有且仅有一个正确答案。) 1、关于图灵机下面的说法哪个是正确的: A)图灵机是世界上最早的电子计算机。 B)由于大量使用磁带操作,图灵机运行速度很慢。 C)图灵机只是一个理论上的计算模型。 D)图灵机是英国人图灵发明的,在二战中为破译德军的密码发挥了重要作用。 2、关于BIOS下面的说法哪个是正确的: A)BIOS是计算机基本输入输出系统软件的简称。 B)BIOS里包含了键盘、鼠标、声卡、图形界面显器等常用输入输出设备的驱动程序。 C)BIOS一般由操作系统厂商来开发完成。 D)BIOS能提供各种文件拷贝、复制、删除以及目录维护等文件管理功能。 3、已知大写字母A的ASCII编码为65(十进制),则大写字母J的十六进制ASCII编码为: A) 48 B) 49 C) 50 D) 以上都不是 4、在字长为16位的系统环境下,一个16位带符号整数的二进制补码为1111111111101101。其对应的十进制整数应该是: A)19 B) -19 C) 18 D) -18 5、一个包含n个分支结点(非叶结点)的非空满k叉树,k>=1,它的叶结点数目为: A) nk + 1 B) nk-1 C) (k+1)n-1 D. (k-1)n+1 6. 表达式a*(b+c)-d的后缀表达式是: A) abcd*+-B) abc+*d-C) abc*+d-D) -+*abcd 7、最优前缀编码,也称Huffman编码。这种编码组合的特点是对于较频繁使用的元素给与 较短的唯一编码,以提高通讯的效率。下面编码组合哪一组不是合法的前缀编码。 A)(00,01,10,11) B)(0,1,00,11) C)(0,10,110,111) D)(1,01,000,001) 8、快速排序平均情况和最坏情况下的算法时间复杂度分别为: A) 平均情况O(nlog2n),最坏情况O(n2) B) 平均情况O(n),最坏情况O(n2) C) 平均情况O(n),最坏情况O(nlog2n)

(完整word)NOIP2010提高组初赛试题及详细解析

第十六届全国青少年信息学奥林匹克联赛初赛试题 ( 提高组 C++ 语言 两小时完成 ) ? ? 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效 ?? 、单项选择题 (共 10 题,每题 1.5 分,共计 15 分。每题有且仅有一个正确选项。 ) 1.与十六进制数 A1.2 等值的十进制数是( ) A . 101.2 B . 111.4 C . 161.125 D . 177.25 &主存储器的存取速度比中央处理器 (CPU )的工作速度慢的多,从而使得后者的效率受到影响。而 根据局部性原理,CPU 所访问的存储单元通常都趋于一个较小的连续区域中。于是,为了提高系统 整体的执行 效率,在 CPU 中引入了( )。 A .寄存器 B .高速缓存 C .闪存 D .外存 9.完全二叉树的顺序存储方案,是指将完全二叉树的结点从上到下、从左到右依次存放到一个顺序 结构的数组中。假定根结点存放在数组的 1 号位置上,则第 k 号结点的父结点如果存在的话,应当 存放在数组中的( )号位置。 A .2k B .2k+1 C .k/2 下取整 D .(k+1)/2 2.一个字节( byte )由( )个二进制组成。 A .8 B .16 上都有可能 3.以下逻辑表达式的值恒为真的是( )。 A . P V (n P A Q )V (n P 心 Q ) B C . P V Q V ( P A n Q )V (n P A Q ) D 4 . Linux 下可执行文件的默认扩展名是 ( ) 。 A. exe B. com 都不是 C . 32 D .以 Q V( n P A Q )V (P A n Q ) P V n Q V( P A n Q V (n P A n Q) C. dll D. 以上 5 .如果在某个进制下等式 7*7=41 成立,那么在该进制下等式 12*12= ( A. 100 B. 144 C. 164 )也成立。 D. 196 6 .提出“存储程序”的计算机工作原理的是( A. 克劳德 ?香农 B. 戈登?摩尔 )。 C. 查尔斯 ?巴比奇 D. 冯?诺依曼 7 .前缀表达式“ + 3 * 2 + 5 12 ” 的值是( )。 A. 23 B. 25 C. 37 D. 6

noip2011初赛试题及答案(完美Word版)

第十七届全国青少年信息学奥林匹克联赛初赛试题 (提高组 Pascal语言两小时完成) ●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●● 一、单项选择题(共20题,每题1.5分。共计30分。每题有且仅有一个正确选项。) B 1.在二进制下,1100011 +()= 1110000。 A.1011 B.1101 C.1010 D.1111 B 2.字符“A”的ASCII码为十六进制41,则字符“Z”的ASCII码为十六进制的()。A.66 B.5A C.50 D.视具体的计算机而定 A 3.右图是一棵二叉树,它的先序遍历是()。 A.ABDEFC B.DBEFAC C.DFEBCA D.ABCDEF D 4.寄存器是()的重要组成部分。 A.硬盘B.高速缓存C.内存D.中央处理器(CPU) B 5.广度优先搜索时,需要用到的数据结构是()。 A.链表B.队列C.栈D.散列表 A 6.在使用高级语言编写程序时,一般提到的“空间复杂度”中的“空间”是指()。 A.程序运行时理论上所占的内存空间 B.程序运行时理论上所占的数组空间 C.程序运行时理论上所占的硬盘空间 D.程序源文件理论上所占的硬盘空间 C 7.应用快速排序的分治思想,可以实现一个求第K大数的程序。假定不考虑极端的最坏情况,理论上可以实现的最低的算法时间复杂度为()。 A.O(n2)B.O(n log n)C.O(n) D.O(1) D 8.为解决Web应用中的不兼容问题,保障信息的顺利流通,()制定了一系列标准,涉及HTML、XML、CSS等,并建议开发者遵循。 A.微软 B.美国计算机协会(ACM) C.联台国教科文组织D.万维网联盟(W3C)

noip2010提高组PASCAL初赛试题和答案

第十六届全国青少年信息学奥林匹克联赛初赛试题试题及答案 NOIP2010(Pascal提高组) 一、单项选择题 1.与16进制数 A1.2等值的10进制数是(A ) A.101.2 B.111.4 C.161.125 D.177.25 2.一个字节(byte)由(A )个二进制组成。 A.8 B.16 C.32 D.以上都有可能 3.以下逻辑表达式的值恒为真的是()。 A.P∨(┓P∧Q)∨(┓P∧┓Q) B.Q∨(┓P∧Q)∨(P∧┓Q) C.P∨Q∨(P∧┓Q)∨(┓P∧Q) D.P∨┓Q∨(P∧┓Q)∨(┓P∧┓Q) 4.Linux下可执行文件的默认扩展名是(B )。 A.exe https://www.sodocs.net/doc/0517442237.html, C.dll D.以上都不是 5.如果在某个进制下等式7*7=41成立,那么在该进制下等式12*12=(C )也成立。 A.100 B.144 C.164 D.196 6.提出“存储程序”的计算机工作原理的是(B )。 A. 克劳德?香农 B. 戈登?摩尔 C. 查尔斯?巴比奇 D. 冯?诺依曼 7.前缀表达式“+ 3 * 2 + 512 ” 的值是(C )。 A.23 B.25 C.37 D.65

8.主存储器的存取速度比中央处理器(CPU)的工作速度慢的多,从而使得后者的效率受到影响。而根据局部性原理,CPU所访问的存储单元通常都趋于一个较小的连续区域中。于是,为了提高系统整体的执行效率,在CPU中引入了(B )。 A.寄存器 B.高速缓存 C.闪存 D.外存 9.完全二叉树的顺序存储方案,是指将完全二叉树的结点从上到下、从左到右依次存放到一个顺序结构的数组中。假定根结点存放在数组的1号位置上,则第k号结点的父结点如果存在的话,应当存放在数组中的(C )号位置。 A.2k B.2k+1 C.k/2下取整 D.(k+1)/2 10. 以下竞赛活动中历史最悠久的是(D )。 A. NOIP B. NOI C. IOI D. APIO 二、不定项选择题 1.元素R1、R2、R3、R4、R5入栈的顺序为R1、R2、R3、R4、R5。如果第1个出栈的是R3,那么第5个出栈的可能是(AB )。 A. R1 B. R2 C.R4 D.R5 2. Pascal语言,C语言和C++语言都属于(AD )。 A. 高级语言 B. 自然语言 C. 解释性语言 D. 编译性语言 3. 原地排序是指在排序过程中(除了存储待排序元素以外的)辅助空间的大小与数据规模无关的排序算法。以下属于原地排序的有(AC )。 A. 冒泡排序 B. 插入排序 C. 基数排序 D. 选择排序 4. 在整数的补码表示法中,以下说法正确的是()。 A.只有负整数的编码最高位为1 B.在编码的位数确定后,所能表示的最小整数和最大整数的绝对值相同 C.整数0只有一个唯一的编码 D.两个用补码表示的数相加时,如果在最高位产生进位,则表示运算溢出 5. 一颗二叉树的前序遍历序列是ABCDEFG,后序遍历序列是CBFEGDA,则根结点的左子树的结点个数可能是(B )。

noip2011 初赛普及组c++试题及答案

NOIP2011 (普及组 C++语言二小时完成) ●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●● 一、单项选择题(共20题,每题1.5分,共计30分。每题有且仅有一个正确选项。) 1.在二进制下,1011001 + ()= 1100110。 A.1011 B.1101 C.1010 D.1111 2.字符“0”的ASCII码为48,则字符“9”的ASCII码为()。 A.39 B.57 C.120 D.视具体的计算机而定 3.一片容量为8G的SD卡能储存大约()张大小为2MB的数码照片。 A.1600 B.2000 C.4000 D.16000 4.摩尔定律(Moore's law)是由英特尔创始人之一戈登·摩尔(Gordon Moor)提出来的。根据摩尔定律,在过去几十年一级在可预测的未来纪念,单块集成电驴的集成度大约每()个月翻一番。A.1 B.6C.18 D.36 5.无向完全图是图中每对顶点之间都恰好有一条边的简单图。已知无向完全图G有7个顶点,则它共有()条边。 A.7 B.21 C.42 D.49 6.寄存器是()的重要组成部分。 A.硬盘B.高速缓存C.内存D.中央处理器(CPU) 7.如果根结点的深度记为1,则一棵恰有2011个叶结点的二叉树的深度最少是()。 A.10 B.11 C.12 D.13 8.体育课的铃声响了,同学们都陆续地奔向操场,按老师的要求从高到矮站成一排。每个同学按顺序来到操场时,都从排尾走到排头,找到第一个比自己高的同学,并站在他的后面。这种站队的方法类似于()算法。 A.快速排序B.插入排序C.冒泡排序D.归并排序 9.一个正整数在二进制下有100位,则它在十六进制下有()位。 A.7 B.13 C.25 D.不能确定 10.有人认为,在个人电脑送修前,将文件放入回收站中就是已经将其删除了。这种想法是()。 A.正确的,将文件放入回收站以为着彻底删除、无法恢复 B.不正确的,只有将回收站清空后,才意味着彻底删除、无法恢复 C.不正确的,即使回收站清空,文件只是被标记为删除,仍可能通过回复软件找回 D.不正确的,只要在硬盘上出现过的文件,永远不可能被彻底删除

NOIP2017初赛普及组C++试题及答案

第二十三届全国青少年信息学奥林匹克联赛初赛 普及组C++语言试题 竞赛时间:2017年10月14日14:30~16:30 选手注意: ●试题纸共有7 页,答题纸共有2 页,满分100 分。请在答题纸上作答,写在试题纸上的一律无效。 ●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。一、单项选择题(共20 题,每题 1.5 分,共计30 分;每题有且仅有一个正确选项) 1. 在8 位二进制补码中,10101011 表示的数是十进制下的()。 A. 43 B. -85 C. -43 D. -84 2. 计算机存储数据的基本单位是()。 A. bit B. Byte C. GB D. KB 3.下列协议中与电子邮件无关的是()。 A. POP3 B. SMTP C. WTO D. IMAP 4. 分辨率为800x600、16 位色的位图,存储图像信息所需的空间为()。 A. 937.5KB B. 4218.75KB C. 4320KB D. 2880KB 5. 计算机应用的最早领域是()。 A. 数值计算 B. 人工智能 C. 机器人 D. 过程控制 6.下列不属于面向对象程序设计语言的是()。 A. C B. C++ C. Java D. C#

7. NOI 的中文意思是()。 A. 中国信息学联赛 B. 全国青少年信息学奥林匹克竞赛 C. 中国青少年信息学奥林匹克竞赛 D. 中国计算机协会 8. 2017 年10 月1 日是星期日,1999 年10 月1 日是()。 A. 星期三 B. 星期日 C. 星期五 D. 星期二 9.甲、乙、丙三位同学选修课程,从4 门课程中,甲选修2 门,乙、丙各选修3门,则不同的选修方案共有()种。 A. 36 B. 48 C. 96 D. 192 10. 设G 是有n 个结点、m 条边(n ≤ m)的连通图,必须删去G 的()条边,才能使得G 变成一棵树。 A. m – n + 1 B. m - n C. m + n + 1 D. n – m + 1 11. 对于给定的序列{ak},我们把(i, j) 称为逆序对当且仅当i < j 且ai > aj。那么 序列1, 7, 2, 3, 5, 4 的逆序对数为()个。 A. 4 B. 5 C. 6 D. 7 12. 表达式a * (b + c) * d 的后缀形式是()。 A. a b c d * + * B. a b c + * d * C. a * b c + * d D. b + c * a * d 13.向一个栈顶指针为hs 的链式栈中插入一个指针s 指向的结点时,应执行()。 A.hs->next = s; B.s->next = hs; hs = s; C.s->next = hs->next; hs->next = s; D.s->next = hs; hs = hs->next; 14. 若串S = “copyright”,其子串的个数是()。 A. 72 B. 45 C. 46 D. 36 15. 十进制小数13.375 对应的二进制数是()。 A. 1101.011 B. 1011.011 C. 1101.101 D. 1010.01

NOIP2011普及组

数字反转题目描述 给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形 式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。【数据范围】 -1,000,000,000 ≤ N≤ 1,000,000,000。 输入格式 输入共 1 行,一个整数N。 输出格式 输出共 1 行,一个整数,表示反转后的新数。 样例输入: 123 -380 样例输出: 321 -83 统计单词数题目描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位 置,有的还能统计出特定单词在文章中出现的次数。 现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章 中出现的次数和第一次出现的位置。注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词在不区分大小写的情况下完全相同(参见样例1),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例2)。 【数据范围】 1 ≤ 单词长度≤ 10。 1 ≤ 文章长度≤ 1,000,000。 【输入输出样例 1 说明】 输出结果表示给定的单词To 在文章中出现两次,第一次出现的位置为0。 【输入输出样例 2 说明】 表示给定的单词to 在文章中没有出现,输出整数-1。 输入格式 第 1 行为一个字符串,其中只含字母,表示给定单词; 第 2 行为一个字符串,其中只可能包含字母和空格,表示给定的文章。

输出格式 只有一行,如果在文章中找到给定单词则输出两个整数,两个整数之间用一个空格隔开, 分别是单词在文章中出现的次数和第一次出现的位置(即在文章中第一次出现时,单词首字 母在文章中的位置,位置从0 开始);如果单词在文章中没有出现,则直接输出一个整数-1。 样例输入: [sample 1] To to be or not to be is a question [sample 2] to Did the Ottoman Empire lose its power at that time 样例输出: [sample 1] 2 0 [sample 2] -1 瑞士轮题目描述 2*N名编号为1~2N的选手共进行R轮比赛。每轮比赛开始前,以及所有比赛结束后,都会按照总分从高到低对选手进行一次排名。选手的总分为第一轮开始前的初始分数加上已参加过的所有比赛的得分和。总分相同的,约定编号较小的选手排名靠前。 每轮比赛的对阵安排与该轮比赛开始前的排名有关:第1名和第2名、第3名和第4名、……、第2K-1名和第2K名、……、第2N-1名和第2N名,各进行一场比赛。每场比赛胜者得1分,负者得0分。也就是说除了首轮以外,其它轮比赛的安排均不能事先确定,而是要取决于选手在之前比赛中的表现。 现给定每个选手的初始分数及其实力值,试计算在R轮比赛过后,排名第Q的选手编号是多少。我 们假设选手的实力值两两不同,且每场比赛中实力值较高的总能获胜。 输入格式 输入的第一行是三个正整数N、R、Q,每两个数之间用一个空格隔开,表示有2*N名选手、R轮比赛,以及我们关心的名次Q。 第二行是2*N个非负整数s1,s2,…,s2N,每两个数之间用一个空格隔开,其中si表示编号为i 的选手的初始分数。 第三行是2*N个正整数w1,w2,…,w2N,每两个数之间用一个空格隔开,其中wi表示编号为i 的选手的实力值。 输出格式

历年noip初赛普及组试题(完整资料).doc

【最新整理,下载后即可编辑】 历年noip普及组初赛试题汇编 芜湖县实验学校NOIP初赛复习资料

第十五届全国青少年信息学奥林匹克联赛初赛试题(2009) (普及组C++语言二小时完成) ●●全部试题答案均要求写在答卷纸上,写在试卷纸 上一律无效●● 一.单项选择题(共20题,每题1.5分,共计30分。每题有且仅有一个正确答案。) 1、关于图灵机下面的说法哪个是正确的: A)图灵机是世界上最早的电子计算机。 B)由于大量使用磁带操作,图灵机运行速度很慢。 C)图灵机是英国人图灵发明的,在二战中为破译德军的密码 发挥了重要作用。 D)图灵机只是一个理论上的计算模型。 2、关于计算机内存下面的说法哪个是正确的: A)随机存储器(RAM)的意思是当程序运行时,每次具体分 配给程序的内存位置是随机而不确定的。 B)1MB内存通常是指1024*1024字节大小的内存。 C)计算机内存严格说来包括主存(memory)、高速缓存(cache) 和寄存器(register)三个部分。 D)一般内存中的数据即使在断电的情况下也能保留2个小时 以上。 3、关于BIOS下面说法哪个是正确的: A)BIOS是计算机基本输入输出系统软件的简称。 B)BIOS里包含了键盘、鼠标、声卡、显卡、打印机等常用输 入输出设备的驱动程序。 C)BIOS一般由操作系统厂商来开发完成。

D)BIOS能提供各种文件拷贝、复制、删除以及目录维护等文 件管理功能。 4、关于CPU下面哪个说法是正确的: A)CPU全称为中央处理器(或中央处理单元)。 B)CPU可以直接运行汇编语言。 C)同样主频下,32位的CPU比16位的CPU运行速度快一倍。 D)CPU最早是由Intel公司发明的。 5、关于ASCII,下面哪个说法是正确的: A)ASCII码就是键盘上所有键的唯一编码。 B)一个ASCII码使用一个字节的内存空间就能够存放。 C)最新扩展的ASCII编码方案包含了汉字和其他欧洲语言的 编码。 D)ASCII码是英国人主持制定并推广使用的。 6、下列软件中不是计算机操作系统的是: A) Windows B) Linux C) OS/2 D) WPS 7、关于互联网,下面的说法哪一个是正确的: A)新一代互联网使用的IPv6标准是IPv5标准的升级与补充。 B)互联网的入网主机如果有了域名就不再需要IP地址。 C)互联网的基础协议为TCP/IP协议。 D)互联网上所有可下载的软件及数据资源都是可以合法免 费使用的。 8、关于HTML下面哪种说法是正确的: A)HTML实现了文本、图形、声音乃至视频信息的统一编码。 B)HTML全称为超文本标记语言。 C)网上广泛使用的Flash动画都是由HTML编写的。 D)HTML也是一种高级程序设计语言。

NOIP普及组初赛历年试题及答案选择题篇

NOIP普及组初赛历年试题及答案选择题篇 单项选择题:每次共20题,每题1.5分,共计30分。每题有且仅有一个正确选项。注:答案在文末 一、计算机基础(每年8-10题,占选择题的一半,找份材料翻几遍就可拿分了) NOIP2011-3. 一片容量为8G的SD卡能储存大约( )张大小为2MB的数码照片。 A.1600 B.2000 C.4000 D.16000 NOIP2011-4. 摩尔定律(Moore'slaw)是由英特尔创始人之一戈登·摩尔(GordonMoor)提出来的。根据摩尔定律,在过去几十年一级在可预测的未来纪念,单块集成电路的集成度大约每( )个月翻一番。 A.1 B.6 C.18 D.36 NOIP2011-6.寄存器是( )的重要组成部分。 A.硬盘 B.高速缓存 C.内存 D.中央处理器(CPU) NOIP2011-10. 有人认为,在个人电脑送修前,将文件放入回收站中就是已经将其删除了。这种想法是( )。 A .正确的,将文件放入回收站以为着彻底删除、无法恢复 B.不正确的,只有将回收站清空后,才意味着彻底删除、无法恢复 C.不正确的,即使回收站清空,文件只是被标记为删除,仍可能通过回复软件找回 D.不正确的,只要在硬盘上出现过的文件,永远不可能被彻底删除 NOIP2011-14. 生物特征识别,是利用人体本身的生物特征进行身份认证的一种技术。目前,指纹识别、虹膜识别、人脸识别等技术已广泛应用于政府、银行、安全防卫等领域。以下不属于生物特征识别技术及其应用的是( )。

NOIP2011-16. 关于汇编语言,下列说法错误的是( )。 A.是一种与具体硬件相关的程序设计语言 B.在编写复杂程序时,相对于高级语言而言代码量较大,且不易调试 C.可以直接访问寄存器、内存单元、以及I/O端口 D.随着高级语言的诞生,如今已完全被淘汰,不再使用 NOIP2011-18. 1956年( )授予肖克利、巴丁和布拉顿,以表彰他们对半导体的研究和晶体管效应的发现。 A.诺贝尔物理学奖 B.约翰·冯·诺依曼奖 C.图灵奖 D.高德纳奖 NOIP2011-20. 从ENIAC到当前最先进的计算机,冯·诺依曼体系结构始终占有重要地位。冯诺依曼体系结构的核心内容是( )。 A.采用开关电路 B.采用半导体器件 C.采用存储程序和程序控制原理 D.采用键盘输入 NOIP2012-1. 计算机如果缺少( ),将无法正常启动。 A.内存 B.鼠标 C.U盘 D.摄像头

NOIP2017提高组初赛试题及答案

NOIP2017提高组初赛试题及答案 一、单项选择题(共15 题,每题1.5 分,共计22.5 分;每题有且仅有一个正确选项) 1. 从( )年开始,NOIP 竞赛将不再支持Pascal 语言。C A. 2020 B. 2021 C. 2022 D. 2023 2.在8 位二进制补码中,10101011 表示的数是十进制下的( )。B A. 43 B. -85 C. -43 D.-84 3.分辨率为1600x900、16 位色的位图,存储图像信息所需的空间为( )。A A. 2812.5KB B. 4218.75KB C. 4320KB D. 2880KB 4. 2017年10月1日是星期日,1949年10月1日是( )。C A. 星期三 B. 星期日 C. 星期六 D. 星期二 5. 设G 是有n 个结点、m 条边(n ≤m)的连通图,必须删去G 的( )条边,才能使得G 变成一棵树。A A.m–n+1 B. m-n C. m+n+1 D.n–m+1 6. 若某算法的计算时间表示为递推关系式:T(N)=2T(N/2)+NlogN T(1)=1 则该算法的时间复杂度为( )。C A.O(N) B.O(NlogN) C.O(N log2N) D.O(N2) 7. 表达式a * (b + c) * d的后缀形式是()。B A. abcd*+* B. abc+*d* C. a*bc+*d D. b+c*a*d 8. 由四个不同的点构成的简单无向连通图的个数是( )。C A. 32 B. 35 C. 38D. 41 9. 将7个名额分给4个不同的班级,允许有的班级没有名额,有( )种不同的分配方案。D A. 60 B. 84 C. 96 D.120 10. 若f[0]=0, f[1]=1, f[n+1]=(f[n]+f[n-1])/2,则随着i的增大,f[i]将接近与( )。B A. 1/2 B. 2/3 D. 1 11. 设A和B是两个长为n的有序数组,现在需要将A和B合并成一个排好序的数组,请问任何以元素比较作为基本运算的归并算法最坏情况下至少要做( )次比较。D A. n2 B. Nlogn C. 2n D.2n-1 12. 在n(n>=3)枚硬币中有一枚质量不合格的硬币(质量过轻或质量过重),如果只有一架天平可以用来称重且称重的硬币数没有限制,下面是找出这枚不合格的硬币的算法。请把a-c三行代码补全到算法中。 2. 将A中硬币分成X,Y,Z三个集合,使得|X|=|Y|=k, |Z|=n-2k 3. if W(X)≠W(Y) //W(X), W(Y)分别为X或Y的重量 4. then_______ 5. else_______ 6. __________ 7. if n>2 then goto 1 8. if n=2 then 任取A中1枚硬币与拿走硬币比较,若不等,则它不合格;若相等,则A中剩下的硬币不合格 9. if n=1 then A中硬币不合格 正确的填空顺序是( )。D A. b,c,a B. c,b,a C. c,a,b D.a,b,c 13. 在正实数构成的数字三角形排列形式如图所示,第一行的数为a11;第二行的数从左到右依次为a21,a22;…第n行的数为 an1,an2,…,ann。从a11开始,每一行的数aij只有两条边可以分别通向下一行的两个数a(i+1)j和a(i+1)(j+1)。用动态规划算法找出一条从a11向下通到an1,an2,…,ann中某个数的路径,使得该路径上的数之和达到最大。 令C[i,j]是从a11到aij的路径上的数的最大和,并且C[i,0]=C[0,j]=0,则C[i,j]=( )。A A. max{C[i-1,j-1],C[i-1,j]}+aij B. C[i-1,j-1]+c[i-1,j] C. max{C[i-1,j-1],C[i-1,j]}+1 D. max{C[i,j-1],C[i-1,j]}+aij 14. 小明要去南美洲旅游,一共乘坐三趟航班才能到达目的地,其中第1个航班准点的概率是0.9,第2个航班准点的概率为0.8,第3个航班准点的概率为0.9。如果存在第i个(i=1,2)航班晚点,第i+1个航班准点,则小明将赶不上第i+1个航班,旅行失败;除了这种情况,其他情况下旅行都能成功。请问小明此次旅行成功的概率是( )。D

NOIP普及组初赛历年试题及标准答案选择题篇

NOIP普及组初赛历年试题及答案选择题篇

————————————————————————————————作者:————————————————————————————————日期:

NOIP普及组初赛历年试题及答案选择题篇 单项选择题:每次共20题,每题1.5分,共计30分。每题有且仅有一个正确选项。注:答案在文末 一、计算机基础(每年8-10题,占选择题的一半,找份材料翻几遍就可拿分了) NOIP2011-3. 一片容量为8G的SD卡能储存大约( )张大小为2MB的数码照片。 A.1600 B.2000 C.4000 D.16000 NOIP2011-4. 摩尔定律(Moore'slaw)是由英特尔创始人之一戈登·摩尔(GordonMoor)提出来的。根据摩尔定律,在过去几十年一级在可预测的未来纪念,单块集成电路的集成度大约每( )个月翻一番。 A.1 B.6 C.18 D.36 NOIP2011-6.寄存器是( )的重要组成部分。 A.硬盘 B.高速缓存 C.内存 D.中央处理器(CPU) NOIP2011-10. 有人认为,在个人电脑送修前,将文件放入回收站中就是已经将其删除了。这种想法是( )。 A .正确的,将文件放入回收站以为着彻底删除、无法恢复 B.不正确的,只有将回收站清空后,才意味着彻底删除、无法恢复 C.不正确的,即使回收站清空,文件只是被标记为删除,仍可能通过回复软件找回 D.不正确的,只要在硬盘上出现过的文件,永远不可能被彻底删除

NOIP2011-14. 生物特征识别,是利用人体本身的生物特征进行身份认证的一种技术。目前,指纹识别、虹膜识别、人脸识别等技术已广泛应用于政府、银行、安全防卫等领域。以下不属于生物特征识别技术及其应用的是( )。 NOIP2011-16. 关于汇编语言,下列说法错误的是( )。 A.是一种与具体硬件相关的程序设计语言 B.在编写复杂程序时,相对于高级语言而言代码量较大,且不易调试 C.可以直接访问寄存器、内存单元、以及I/O端口 D.随着高级语言的诞生,如今已完全被淘汰,不再使用 NOIP2011-18. 1956年( )授予肖克利、巴丁和布拉顿,以表彰他们对半导体的研究和晶体管效应的发现。 A.诺贝尔物理学奖 B.约翰·冯·诺依曼奖 C.图灵奖 D.高德纳奖 NOIP2011-20. 从ENIAC到当前最先进的计算机,冯·诺依曼体系结构始终占有重要地位。冯诺依曼体系结构的核心内容是( )。 A.采用开关电路 B.采用半导体器件 C.采用存储程序和程序控制原理 D.采用键盘输入

NOIP2008初赛普及组C++题目及参考答案

第十四届全国青少年信息学奥林匹克联赛初赛试题2008 (普及组C++语言二小时完成) ●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●● 一、单项选择题(共20题,每题1.5分,共计30分。每题有且仅有一个正确答案.)。 1.微型计算机中,控制器的基本功能是()。 A.控制机器各个部件协调工作 B.实现算术运算和逻辑运算 C.获取外部信息 D.存放程序和数据 2.设A=true,B=false,C=true,D=false,以下逻辑运算表达式值为真的是()。 7,a,则 10. Web2.0应用。 A.Sina B.Flickr C.Yahoo D.Google 11.递归过程或函数调用时,处理参数和返回地址,通常使用一种称为()的数据结构。 A.队列 B.多维数组 C.线性表 D.栈 12.(2008)10+(5B)16的结果是()。 A.(833)16 B.(2089)10 C.(4163)8 D.(100001100011)2 13.二叉树T,已知其先根遍历是1243576(数字为结点的编号,以下同),中根遍历是2415736,则该二 叉树的后根遍历是()。 A.4257631 B.4275631 C.7425631 D.4276531

14.将数组{8,23,4,16,77,-5,53,100}中的元素按从大到小的顺序排列,每次可以交换任意两个元素, 最少需要交换()次。 A.4 B.5 C.6 D.7 15.对有序数组{5,13,19,21,37,56,64,75,88,92,100}进行二分查找,成功查找元素19的查找长度 (比较次数)是()。 A.1 B.2 C.3 D.4 16.面向对象程序设计(Object-OrientedProgramming)是一种程序设计的方法论,它将对象作为程序的基本单元,将数据和程序封装在对象中,以提高软件的重用性、灵活性和扩展性。下面关于面向对象程 序设计的说法中,不正确的是()。 A.面向对象程序设计通常采用自顶向下设计方法进行设计。 B. C. D. 1. 2.有61 三.阅读程序写结果(共4题,每题8分,共计32分) 1.#include usingnamespacestd;

2010信息学奥赛初赛试题及答案

NOIP2010(Pascal提高组)一、单项选择题1.与16进制数A1.2等值的10进制数是()A.101.2 B.111.4 C.161.125 D.177.25 2.一个字节(byte)由()个二进制组成。 A.8 B.16 C.32 D.以上都有可能 3.以下逻辑表达式的值恒为真的是()。 A.P∨(┓P∧Q)∨(┓P∧┓Q) B.Q∨(┓P∧Q)∨(P∧┓Q) C.P∨Q∨(P∧┓Q)∨(┓P∧Q) D.P∨┓Q∨(P∧┓Q)∨(┓P∧┓Q) 4.Linux 下可执行文件的默认扩展名是( )。 A. exe B. com C. dll D.以上都不是 5.如果在某个进制下等式7*7=41成立,那么在该进制下等式 的工作速度慢的多,从而使得后者的效率受到影响。而根据局部性原理,CPU所访问的存储单元通常都趋于一个较小的连续区域中。于 完全二叉树的结点从上到下、从左到右依次存放到一个顺序结构的数组中。假定根结点存放在数组的1号位置上,则第k号结点的父结点如果存在的话,应当存放在数组中的()号位置。 A. 2k B. 2k+1 C. k/2下取整 D. (k+1)/2 10.以下竞赛活动中历史最悠久的是()。 A. NOIP B.NOI C. IOI D. APIO 二、不定项选择题1.元素R1、R2、R3、R4、R5入栈的顺序为R1、R2、R3、R4、R5。如果第1个出栈的是R3,那么第5个出栈的可能是( )。A.R1 B.R2 C.R4 D.R5 2. Pascal语言,C语言和C++语言都属于( )。A.高级语言 B.自然语言 C.解释性语言 D.编译性语言 3. 原地排序是指在排序过程中(除了存储待排序元素以外的)辅助空间的大小与数据规模无关的排序算 有负整数的编码最高位为1 B.在编码的位数确定后,所能表示的最小整数和最大整数的绝对值相同C.整数0只有一个唯一的编码D.两 CBFEGDA,则根结点的左子树的结点个数可能是()。A.0 B. 2 C. 4 D. 6 6. 在下列HTML语句中,可以正确产生一个指向NOI官方网站的超链接的是()。A.欢迎访问NOI网站 B.欢迎访问NOI网站 C.h t t p : / / w w w . n o i . c n D.欢迎访问NOI网站 7. 关 扑排序中入度为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,则下列语句序列中正确的是( )。A.p->rlink->llink=p->rlink; p->llink->rlink=p->llink; delete p; B.p->llink->rlink=p->rlink; p->rlink->llink = p->llink; delete p; C.p->rlink->llink = p->llink; p->rlink->llink ->rlink = p->rlink; delete p; D.p->llink->rlink = p->rlink; p->llink->rlink->link = p->llink; delete p; 10. 今年(2010年)发生的事件有()。A.惠普实验室研究员Vinay Deolalikar 自称证明了P≠NP B.英特尔公司收购计算机安全软件公司迈克菲(McAfee) C.苹果公司发布iPhone 4手机D.微软公司发布Windows 7 操作系统三、问题求解1.LZW 编码是一种自适应词典编码。在编码的过程中,开始时只有一部基础构造元素的编码词典,如果在编码的过程中遇到一个新的词条,则该词条及一个新的编码会被追加到词典中,并用于后继信息的编码。举例说明,考虑一个待编码的信息串:“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 : array[1..size] of integer; begin readln(n, m); for i := 1 to n do read(data[i]); for i := 1 to n do begin cnt := 0; for j := 1 to n do if (data[i] < data[j]) or ((data[j] = data[i]) and (j < i)) then inc(cnt); if cnt = m then writeln(data[i]); end; end. 输入5 2 96 -8 0 16 87 输出:__________ 2. const size = 100; var na, nb, i, j, k : integer; a, b : array[1..size] of integer; begin readln(na); for i := 1 to na do read(a[i]); readln(nb); for i := 1 to nb do read(b[i]); i := 1; j := 1; while (i <= na) and (j <= nb) do begin if a[i] <= b[j] then begin write(a[i],' '); inc(i); end else begin write(b[j], ' '); inc(j); end; end; if i <= na then for k := i to na do write(a[k], ' '); if j <= nb then for k := j to nb do write(b[k], ' '); end. 输入5 1 3 5 7 9 4 2 6 10 14 输出:__________ 3. const num = 5; var n: integer; function r(n :

相关主题