noip提高组c初赛试题与答案文档格式.docx
- 文档编号:13333165
- 上传时间:2022-10-09
- 格式:DOCX
- 页数:13
- 大小:260.32KB
noip提高组c初赛试题与答案文档格式.docx
《noip提高组c初赛试题与答案文档格式.docx》由会员分享,可在线阅读,更多相关《noip提高组c初赛试题与答案文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
C)(0,10,110,111)
D)(1,01,000,001)
8、快速排序平均情况和最坏情况下的算法时间复杂度分别为:
9、右图给出了一个加权无向图,从顶点V0开始用prim算法求最小生成树。
则依次加入最小生成树的顶点集合的顶点序列为:
10、全国信息学奥林匹克的官方网站为参与信息学竞赛的老师同学们提供相关的
信息和资源,请问全国信息学奥林匹克官方网站的网址是:
A)B)D)二.不定项选择题(共10题,每题分,
共计15分。
每题正确答案的个数不少于1。
多选或少选均不得分)。
1、关于CPU下面哪些说法是正确的:
同样主频下,32位的CPU比16位的CPL运行速度快一倍。
2、关于计算机内存下面的说法哪些是正确的:
A)随机存储器(RAM的意思是当程序运行时,每次具体分配给程序的内存位置是随机而不确定的。
B)一般的个人计算机在同一时刻只能存/取一个特定的内存单元。
C)计算机内存严格说来包括主存(memory、高速缓存(cache)和寄存器(register)三个部分。
D)1MB内存通常是指1024*1024字节大小的内存。
3、关于操作系统下面说法哪些是正确的:
5、关于HTML下面哪些说法是正确的:
D)
同的。
从vi开始的深度优先遍历所经过的顶点序列与广度优先的顶点序列是相
7、在带尾指针(链表指针clist指向尾结点)的非空循环单链表中每个结点都
以next字段的指针指向下一个节点。
假定其中已经有2个以上的结点。
下面哪些说法是正确的:
A)
B)
如果p指向一个待插入的新结点,在头部插入一个元素的语句序列为:
p->
next=clist->
next;
clist->
next=p;
如果p指向一个待插入的新结点,在尾部插入一个元素的语句序列为:
P=clist->
next->
deletep;
P=clist;
clist=clist->
8、散列表的地址区间为0-10,散列函数为H(K)=Kmod11。
采用开地址法的线性探查法处理冲突,并将关键字序列26,25,72,38,8,18,59存储到散列表中,这些元素存入散列表的顺序并不确定。
假定之前散列表为空,则元素59存放在散列表中的可能地址有:
A)5B)7C)9D)10
9、排序算法是稳定的意思是关键码相同的记录排序前后相对位置不发生改变,下列哪些排序算法是稳定的:
A)插入排序B)基数排序C)归并排序D)冒泡排序
10、在参加NOI系列竞赛过程中,下面哪些行为是被严格禁止的:
携带书写工具,手表和不具有通讯功能的电子词典进入赛场。
在联机测试中通过手工计算出可能的答案并在程序里直接输出答案来获取分数。
三.问题求解(共2题,每空5分,共计10分)
1.拓扑排序是指将有向无环图G中的所有顶点排成一个线性序列,使得图中任意一对顶点u和V,若vu,v>
€E(G),则u在线性序列中出现在V之前,这样的线性序列成为拓扑序列。
如下的有向无环图,对其顶点做拓扑排序,则所有可能的拓扑序列的个数为。
2.某个国家的钱币面值有1,7,7
元的货物,假设买卖双方各种钱币的数量无限且允许找零,需要流通张钱币。
2,73共计四种,如果要用现金付清10015
那么交易过程中至少四.阅读程序写结果(共4题,每题8分,共计32分)
1.
#inelude<
iostream>
usingnamespacestd;
inta,b;
intwork(inta,intb){
if(a%b)
returnwork(b,a%b);
returnb;
intmain(){
cin»
a>
>
b;
cout<
<
work(a,b)<
endl;
return0;
输入:
123321
2.
#include<
usingnamespacestd;
intmain()
inta[4],b[4];
inti,j,tmp;
for(i=0;
i<
4;
i++)
cin>
b[i];
a[i]=0;
for(j=0;
j<
=i;
j++)
a[i]+=b[j];
b[a[i]%4]+=a[j];
tmp=1;
a[i]%=10;
b[i]%=10;
tmp*=a[i]+b[i];
tmp<
endl;
2357
输出:
3.
constintmaxn=50;
constinty=2009;
intn,c[maxn][maxn],i,j,s=0;
n;
c[0][0]=1;
for(i=1;
=n;
c[i][0]=1;
for(j=1;
i;
c[i][j]=c[i-1][j-1]+c[i-1][j];
c[i][i]=1;
for(i=0;
s=(s+c[n][i])%y;
s<
17
4.
intn,m,i,j,p,k;
inta[100],b[100];
n>
m;
a[0]=n;
i=0;
p=0;
k=0;
do
if(a[i]==a[j])
p=1;
k=j;
break;
if(p)
b[i]=a[i]/m;
a[i+1]=a[i]%m*10;
i++;
}while(a[i]!
=0);
b[0]<
"
."
;
for(j=1;
j<
k;
j++)
b[j];
("
for(j=k;
)"
513
输出:
五.完善程序(前5空,每空2分,后6空,每空3分,共28分)
1.(最大连续子段和)给出一个数列(元素个数不多于100),数列元素均为负整数、正整数、0。
请找出数列中的一个连续子数列,使得这个子数列中包含的所有元素之和最大,在和最大的前提下还要求该子数列包含的元素个数最多,并输出这个最大和以及该连续子数列中元素的个数。
例如数列为4,-5,3,2,
4时,输出9和3;
数列为123-5078时,输出16和7。
inta[101];
intn,i,ans,len,tmp,beg,end;
intmain(){
for(i=1;
=n;
a[i];
tmp=0;
ans=0;
len=0;
beg=①
iv=n;
i++){
if(tmp+a[i]>
ans){
ans=tmp+a[i];
len=i-beg;
){
if(tmp+a[i]
beg=④
else
ans<
<
len<
2.
L。
(寻找等差数列)有一些长度相等的等差数列(数列中每个数都为0-59的整数),设长度均为L,将等差数列中的所有数打乱顺序放在一起。
现在给你这些打乱后的数,问原先,L最大可能为多大先读入一个数n(1<
=nv=60,再读入n个数,代表打乱后的数。
输出等差数列最大可能长度
#include<
inthash[60];
intn,x,ans,maxnum;
intwork(intnow){
intfirst,second,delta,i;
intok;
++now;
if(now>
maxnum)
return1;
first=now;
for(second=first;
second<
=maxnum;
second++)
if(hash[second]){
delta=
if(delta==0)
ok=(
else{
ok=1;
for(i=0;
i<
ans;
i++)
if(ok){
hash[first+delta*i]--;
if(work(first))
hash[first+delta*i]++;
inti;
memset(hash,0,sizeof(hash));
maxnum=0;
i++){
X;
hash[x]++;
if(X>
maxnum=x;
for(ans=n;
ans>
=1;
ans--)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- noip 提高 初赛 试题 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)