全国青少年信息学奥林匹克联赛初赛Word文档格式.docx

上传人:b****4 文档编号:6475021 上传时间:2023-05-06 格式:DOCX 页数:13 大小:112.48KB
下载 相关 举报
全国青少年信息学奥林匹克联赛初赛Word文档格式.docx_第1页
第1页 / 共13页
全国青少年信息学奥林匹克联赛初赛Word文档格式.docx_第2页
第2页 / 共13页
全国青少年信息学奥林匹克联赛初赛Word文档格式.docx_第3页
第3页 / 共13页
全国青少年信息学奥林匹克联赛初赛Word文档格式.docx_第4页
第4页 / 共13页
全国青少年信息学奥林匹克联赛初赛Word文档格式.docx_第5页
第5页 / 共13页
全国青少年信息学奥林匹克联赛初赛Word文档格式.docx_第6页
第6页 / 共13页
全国青少年信息学奥林匹克联赛初赛Word文档格式.docx_第7页
第7页 / 共13页
全国青少年信息学奥林匹克联赛初赛Word文档格式.docx_第8页
第8页 / 共13页
全国青少年信息学奥林匹克联赛初赛Word文档格式.docx_第9页
第9页 / 共13页
全国青少年信息学奥林匹克联赛初赛Word文档格式.docx_第10页
第10页 / 共13页
全国青少年信息学奥林匹克联赛初赛Word文档格式.docx_第11页
第11页 / 共13页
全国青少年信息学奥林匹克联赛初赛Word文档格式.docx_第12页
第12页 / 共13页
全国青少年信息学奥林匹克联赛初赛Word文档格式.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

全国青少年信息学奥林匹克联赛初赛Word文档格式.docx

《全国青少年信息学奥林匹克联赛初赛Word文档格式.docx》由会员分享,可在线阅读,更多相关《全国青少年信息学奥林匹克联赛初赛Word文档格式.docx(13页珍藏版)》请在冰点文库上搜索。

全国青少年信息学奥林匹克联赛初赛Word文档格式.docx

A˄B

5.将(2,6,10,17)分别存储到某个地址区间为0~10的哈希表中,如果哈希函数h(x)=(),将不会产生冲突,其中amodb表示a除以b的余数。

xmod11

x2mod11

2xmod11

.(正确答案)

6.在十六进制表示法中,字母A相当于十进制中的()。

9

10(正确答案)

15

16

7.下图中所使用的数据结构是()

哈希表

栈(正确答案)

队列

二叉树

8.在Windows资源管理器中,用鼠标右键单击一个文件时,会出现一个名为“复制”的操作选项,它的意思是()。

用剪切板中的文件替换该文件

在该文件所在文件夹中,将该文件克隆一份

将该文件复制到剪切板,并保留原文件(正确答案)

将该文件复制到剪切板,并删除原文件

9.已知一棵二叉树有10个节点,则其中至多有()个节点有2个子节点。

5

6

7

10.在一个无向图中,如果任意两点之间都存在路径相连,则称其为连通图。

下图是一个有4个顶点、6条边的连通图。

若要使它不再是连通图,至少要删去其中的()条边。

1

2

3(正确答案)

4

11.二叉树的()第一个访问的节点是根节点。

先序遍历(正确答案)

中序遍历

后序遍历

以上都是

12.以A0作为起点,对下面的无向图进行深度优先遍历时,遍历顺序不可能是()。

A0,A1,A2,A3(正确答案)

A0,A1,A3,A2

A0,A2,A1,A3

A0,A3,A1,A2

13.IPv4协议使用32位地址,随着其不断被分配,地址资源日趋枯竭。

因此,它正逐渐被使用()位地址的IPv6协议所取代。

40

48

64

128(正确答案)

14.()的平均时间复杂度为O(nlogn),其中n是待排序的元素个数。

快速排序(正确答案)

插入排序

冒泡排序

基数排序

15.下面是根据欧几里得算法编写的函数,它所计算的是a和b的()。

最大公共质因子

最小公共质因子

最大公约数(正确答案)

最小公倍数

16.通常在搜索引擎中,对某个关键词加上双引号表示()。

排除关键词,不显示任何包含该关键词的结果

将关键词分解,在搜索结果中必须包含其中的一部分

精确搜索,只显示包含整个关键词的结果(正确答案)

站内搜索,只显示关键词所指向网站的内容

17.中国的国家顶级域名是()。

.cn(正确答案)

.ch

.chn

.china

18.把64位非零浮点数强制转换成32位浮点数后,不可能()。

大于原数

小于原数

等于原数

与原数符号相反(正确答案)

19.下列程序中,正确计算1,2,…,100这100个自然数之和sum(初始值为0)的是()。

[单选题]

A.(正确答案)

B.

C.

D.

20.CCFNOIP复赛全国统一评测时使用的系统软件是()。

NOIWindows

NOILinux(正确答案)

NOIMacOS

NOIDOS

二、问题求解(共2题,每题5分,共计10分;

每题全部答对得5分,没有部分分)

1.7个同学围坐一圈,要选2个不相邻的作为代表,有___种不同的选法。

空1答案:

14

2.某系统自称使用了一种防窃听的方式验证用户密码。

密码是n个数s1,s2,…,sn,均为0或1。

该系统每次随机生成n个数a1,a2,…,an,均为0或1,请用户回答(s1a1+s2a2+…+snan)除以2的余数。

如果多次的回答总是正确,即认为掌握密码。

该系统认为,即使问答的过程被泄露,也无助于破解密码——因为用户并没有直接发送密码。

然而,事与愿违。

例如,当n=4时,有人窃听了以下5次问答:

就破解出了密码s1=___,s2=___,s3=___,s4=___。

[填空题]*

_________________________________(答案:

s1=0,s2=1,s3=1,s4=1)

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

1.#include<

iostream>

usingnamespacestd;

intmain()

{

 

inta,b;

cin>

>

a>

b;

cout<

<

a<

"

+"

b<

="

a+b<

endl;

}

输入:

35

输出:

_________[填空题]*

3+5=8)

2.#include<

intmain()

inta,b,u,i,num;

b>

u;

num=0;

for(i=a;

i<

=b;

i++)

if((i%u)==0)

num++;

num<

return0;

110015

6)

3.#include<

constintSIZE=100;

intn,f,i,left,right,middle,a[SIZE];

n>

f;

for(i=1;

=n;

a[i];

left=1;

right=n;

do{

middle=(left+right)/2;

if(f<

=a[middle])

right=middle;

else

left=middle+1;

}while(left<

right);

left<

1217

24691115171819202125

7)

4.#include<

intheight[SIZE],num[SIZE],n,ans;

n;

for(inti=0;

n;

i++){

height[i];

num[i]=1;

for(intj=0;

j<

i;

j++){

if((height[j]<

height[i])&

&

(num[j]>

=num[i]))

num[i]=num[j]+1;

}

ans=0;

if(num[i]>

ans)ans=num[i];

ans<

6

25311124

4)

四、完善程序(共2题,每题14分,共计28分)

1.(序列重排)全局数组变量a定义如下:

inta[SIZE],n;

它记录着一个长度为n的序列a[1],a[2],…,a[n]。

现在需要一个函数,以整数p(1≤p≤n)为参数,实现如下功能:

将序列a的前p个数与后n–p个数对调,且不改变这p个数(或n–p个数)之间的相对位置。

例如,长度为5的序列1,2,3,4,5,当p=2时重排结果为3,4,5,1,2。

有一种朴素的算法可以实现这一需求,其时间复杂度为O(n)、空间复杂度为O(n):

voidswap1(intp)

inti,j,b[SIZE];

=p;

b[ 

___]=a[i];

for(i=p+1;

b[i-p]= 

___;

i++) 

a[i]=b[i];

我们也可以用时间换空间,使用时间复杂度为O(n2)、空间复杂度为O

(1)的算法:

voidswap2(intp)

inti,j,temp;

temp=a[i];

for(j=i;

j>

j--) 

 

a[j]=a[j-1];

___=temp;

}[填空题]*

n–p+i

空2答案:

a[i]

空3答案:

n

空4答案:

i–p+1

空5答案:

a[i–p]

2.(二叉查找树)二叉查找树具有如下性质:

每个节点的值都大于其左子树上所有节点的

值、小于其右子树上所有节点的值。

试判断一棵树是否为二叉查找树。

输入的第一行包含一个整数n,表示这棵树有n个顶点,编号分别为1,2,…,n,其

中编号为1的为根结点。

之后的第i行有三个数value,left_child,right_child,分别表示

该节点关键字的值、左子节点的编号、右子节点的编号;

如果不存在左子节点或右子节

点,则用0代替。

输出1表示这棵树是二叉查找树,输出0则表示不是。

#include<

constintINFINITE=1000000;

structnode{

intleft_child,right_child,value;

};

nodea[SIZE];

intis_bst(introot,intlower_bound,intupper_bound)

intcur;

if(root==0)

return1;

cur=a[root].value;

if((cur>

lower_bound)&

( 

___)&

(is_bst(a[root].left_child,lower_bound,cur)==1)&

(is_bst( 

___, 

___)==1))

inti,n;

a[i].value>

a[i].left_child>

a[i].right_child;

is_bst( 

___,-INFINITE,INFINITE)<

cur<upper_bound

a[root].right_child

cur

upper_bound

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2