NOIP2018年提高组初赛模拟试题

合集下载

NOIP2018第二十四届全国青少年信息学奥林区克联赛初赛普及组试题及参考答案(手打版)

NOIP2018第二十四届全国青少年信息学奥林区克联赛初赛普及组试题及参考答案(手打版)

NOIP2018第二十四届全国青少年信息学奥林区克联赛初赛普及组试题及参考答案(手打版)第二十四届全国青少年信息学奥林区克联赛初赛普及组一、单项选择题1、以下哪一种设备属于输出设备:()A 扫描仪B 键盘C 鼠标D 打印机2、下列四个不同进制的数中,与其他三项数值上不相等的是()A (269)_{16}(269)16B (617)_{10}(617)10C (1151)_{8}(1151)8D (1001101011)_{2}(1001101011)23、11MB等于()A 10001000字节B 10241024字节C 1000*10001000∗1000字节D 1024*10241024∗1024字节4、广域网的英文缩写是()A LANB WANC MAND LNA5、中国计算机协会于()年创办全国青少年计算机程序设计竞赛。

A 1983B 1984C 1985D 19866、如果开始时计算机处于小写输入状态,现在有一只小老鼠反复按照CapsLock、字母键A、字母键S、字母键D、字母键F的顺序循环按键,即CapsLock、A、S、D、F、CapsLock、A、S、D、F、……、屏幕上输出的第81个字母是字母()。

A. AB. SC.DD.a7、根节点深度为0,一棵深度为h的满K叉树,即除最后一层无任何子节点外,每一层上所有节点都有k个子节点的树,共有()个节点。

A (k^{h+1}-1)/(k-1)(k h+1−1)/(k−1)B k^{h-1}k h−1C k^h k hD (k^{h-1})/(k-1)(k h−1)/(k−1)8、以下排序算法中,不需要进行关键字比较操作的算法是()。

A 基数排序B 冒泡排序C 堆排序D 直接插入排序9、给定一个含N个不相同数字的数组,在最坏情况下,找出期中最大或最小的树,至少需要N-1此操作。

则最坏情况下,在该数组中同时找最大与最小的数至少需要()次操作。

NOIP初赛模拟试题(附答案)

NOIP初赛模拟试题(附答案)

信息学初赛模拟试题(中学组PASCAL语言,两小时完成)◆◆请将正确答案在答卷上填写,在本试题卷上答题无效◆◆一、选择题:(本题共20小题,1—15小题为单选题,16—20小题为不定项选择题,只有选对才有分。

每题1.5分,共30分)1.微型计算机的性能主要取决于( )。

A.内存B. 中央处理器C. 硬盘D. 显示卡E. 声音卡2.字长为32位的计算机是指( )。

A.该计算机能够处理的最大数不超过32B.该计算机中的CPU可以同时处理32位的二进制信息C.该计算机的内存量为32MBD.该计算机每秒钟所能执行的指令条数为32MIPSE.该计算机的硬盘转速是32转3.MS——DOS文件系统目录的组织形式属于( )。

A.关系型结构B.网络型结构C.树型结构D.直线型结构E.星型结构4.Windows应用环境中鼠标的拖动操作不能完成的是( )。

A.当窗口不是最大时,可以移动窗口的位置B.当窗口最大时,可以将窗口缩小成图标C.当窗口有滚动条时可以实现窗口内容的滚动D.可以将一个文件移动(或复制)到另一个目录中去E.调整任务栏的大小和位置5.下面关于PASCAL语言的几种说法中,正确的是( )。

A.它是一种高级语言B.它是一种汇编语言C.它是一种低级语言D.它是一种机器语言E.它不是一种过程化语言6.下列叙述中正确的是( )。

A.计算机病毒只能传染给可执行文件B.计算机软件是指存储在软盘中的程序C.计算机每次启动的过程之所以相同,是因为RAM 中的所有信息在关机后不会丢失D.硬盘虽然装在主机箱内,但它属于外存E.ROM是随机存储器7.多媒体计算机系统的两大组成部分是( )。

A.多媒体功能卡和多媒体主机B.多媒体通信软件和多媒体开发工具C.多媒体输入设备和多媒体输出设备D.多媒体计算机硬件系统和多媒体计算机软件系统E. 多媒体主机和多媒体信息8.用WORD编辑文档后并存储在文件中,该文件的文件名缺省后缀名为( )A. *.txtB. *.bmpC. *.exeD. *.docE. *.com9.要在WINDOWS标准窗口的下拉菜单中选择命令,下列操作错误的是( )。

2018年第二十四届全国青少年信息学奥林匹克联赛初赛提高组含问题详解(WORD重新整理排版)

2018年第二十四届全国青少年信息学奥林匹克联赛初赛提高组含问题详解(WORD重新整理排版)

第二十四届全国青少年信息学奥林匹克联赛初赛提高组 C++语言试题竞赛时间:2018 年 10 月 13 日 14:30~16:30(WORD重新整理排版)选手注意:●试题纸共有 9 页,答题纸共有 2 页,满分 100 分。

请在答题纸上作答,写在试题纸上的一律无效。

●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。

一、单项选择题(共 10 题,每题 2 分,共计 20 分;每题有且仅有一个正确选项)1. 下列四个不同进制的数中,与其它三项数值上不相等的是()。

A. (269)16B. (617)10C. (1151)8D. (1001101011)22. 下列属于解释执行的程序设计语言是()。

A. CB. C++C. PascalD. Python3. 中国计算机学会于()年创办全国青少年计算机程序设计竞赛。

A. 1983B. 1984C. 1985D. 19864. 设根节点深度为 0,一棵深度为 h 的满 k(k>1)叉树,即除最后一层无任何子节点外,每一层上的所有结点都有 k 个子结点的树,共有()个结点。

A. (k h+1 - 1) / (k - 1)B. k h-1C. k hD. (k h-1 ) / (k - 1)5. 设某算法的时间复杂度函数的递推方程是 T(n) = T(n - 1) + n(n 为正整数)及 T(0) = 1,则该算法的时间复杂度为()。

A. O(log n)B. O(n log n)C. O(n)D. O(n2 )6. 表达式 a * d - b * c 的前缀形式是()。

A. a d * b c * -B. - * a d * b cC. a * d - b * cD. - * * a d b c7. 在一条长度为 1 的线段上随机取两个点,则以这两个点为端点的线段的期望长度是()。

A. 1 / 2B. 1 / 3C. 2 / 3D. 3 / 58. 关于 Catalan 数 Cn = (2n)! / (n + 1)! / n!,下列说法中错误的是()。

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

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

第十六届全国青少年信息学奥林匹克联赛初赛试题及答案(提高组)(总12页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--第十六届全国青少年信息学奥林匹克联赛初赛试题(提高组Pascal 语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一.单项选择题(共 10 题,每题 1.5 分,共计 15 分。

每题有且仅有一个正确选项)1.与十六进制数A1. 2等值的十进制数是()。

A.101.2 B. 111.4 C. 161.125 D. 177.252.一个字节(byte)由()个二进制位组成。

A.8B. 16C. 32D. 以上都有可能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. 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. 25C. 37D. 658.主存储器的存取速度比中央处理器(CPU)的工作速度慢得多,从而使得后者的效率受到影响。

而根据局部性原理,CPU所访问的存储单元通常都趋于聚集在一个较小的连续区域中。

于是,为了提高系统整体的执行效率,在CPU中引入了()。

A. 寄存器B. 高速缓存C. 闪存D. 外存9.完全二叉树的顺序存储方案,是指将完全二叉树的结点从上至下、从左至右,依次存放到一个顺序结构的数组中。

NOIP提高组初赛历年试题及答案完善题篇

NOIP提高组初赛历年试题及答案完善题篇

for (i = m; i>= 1; i--){
used[data[i]] = false;
for (j =data[i]+1; j <= n; j++) if (!used[j]){
used[j] =true;
data[i] = j;
flag = true;
break;
}
if (flag)
{
for (k = i+1;k <= m; k++)
solve(left, j –1, deep + 1);
if(j<right)
solve(j+ 1, right, deep + 1);
}
int main()
{
inti;
cin>>n;
for(i=1;i<=n;i++)
cin>>a[i];
maxDeep=0;
solve(1,n,1);
cout<<maxDeep<<' '<<num<<endl;
}
void push()
for (j = 1; j<=n; j++) if (!used[j]){
data[k] = j;
used[j] =true;
break;
}
break;
}
}
}
}
NOIP2012-2.新壳栈 小 Z 设计了一种新的数据结构“新壳栈”。首先,它和传统的栈一样支持压入、弹 出操作。此外,其栈顶的前 c 个元素是它的壳,支持翻转操作。其中,c> 2 是 一个固定的正整数,表示壳的厚度。小 Z 还希望,每次操作,无论是压入、弹 出还是翻转,都仅用与 c 无关的常数时间完成。聪明的你能帮助她编程实现“新 壳栈”吗? 程序期望的实现效果如以下两表所示。其中,输入的第一行是正整数 c,之后每 行输入都是一条指令。另外,如遇弹出操作时栈为空,或翻转操作时栈中元素不 足 c 个,应当输出相应的错误信息。

NOIP2018提高组参考答案

NOIP2018提高组参考答案

第二十四届全国青少年信息学奥林匹克联赛初赛
提高组参考答案
一、单项选择题(共10题,每题2分,共计20分)
1 2 3 4 5 6 7 8 9 10
D D B A D B B A D B
二、不定项选择题(共5题,每题2分,共计10分;每题有一个或多个正确选项,没有部分分)
1 2 3 4 5
AB CD ABD ABD BCD
三、问题求解(共2题,每题5分,共计10分)
1.去了没去没去没下雨(第4空2分,其余1分)
2.454
四、阅读程序写结果(共4题,每题8分,共计32分)
1. 4
2. 6
3.16
4.输出1:2 1 3 5 6 4(3分)输出2:3 2 5 6 1 4(5分)
五、完善程序(共计28分,以下各程序填空可能还有一些等价的写法,由各省赛区组织本省专家审定及上机验证,可以不上报CCF NOI科学委员会复核)
Pascal语言C++语言C语言分值
1 . (1) a[x] := i a[x] = i 3
(2) i + 1 2
(3) R[a[i]] 3
(4) a[i] 3
(5) R[i] 3 2
2 . (1) a[i] * 0.95 <= b[i] 或b[i] >= a[i] * 0.95 2
(2)
total_a >= threshold 或threshold <= total_a 或total_a >= 50000 或50000 <=
total_a
3
(3) total_a + j + a[i] 3
(4) f[j] + total_b - total_b_prefix 3
(5) f[j - a[i]] 3。

noip普和模拟卷2018年(重传)

noip普和模拟卷2018年(重传)

18noip普及模拟卷(重传)原创率高一:单项选择1.5%*20=30%1.(11100011)2+(9A)16=()10A:351 B:379 C:380 D:381 2.堆排序根据的数据结构为:A:队列B:二叉树 C:有向图 D:堆栈3.以下文字体现了--算法:计算:214解:原式=(27)2=((23)2*2)2=(((2)2*2)2*2)2=16384A:二分 B:递推 C:广搜 D:递推4.以下语句为定义头文件的是:A:#include<bits/stdc++.h>B:#define fin cinC:using namespace std;D:int a[100],i;5.计算!((0)&&((1%3)||(1*2*3*4*5*6*7*8*9*0))||(3))= A:0 B:1 C:2 D:-16.计算机的第三代为:A:大规模集成电路 B:晶体管 C:电子管 D:集成电路7.以下程序段出现编译错误,请指出编译错误的行:int i,j=0;……Acin>>j;……Bfor (i=1;i<=sqrt(j);i++)……Ccout<<i<<‘’;……D8.4EB=A:1024KB B:1024*4MB C:4*10242TB D:4*10003GB9.对于一个空栈,所有入栈操作均以字母表顺序进行。

操作为:进进出进出出进进进进出。

试问下一个出栈字母为:A:D B:F C:H D:I f noip系列比赛有三个数值:初赛成绩,复赛成绩和总分。

将初赛、复赛成绩转化为总分时有一个比例,这个比例是:A:1:1 B:0:1 C:3:7 D:4:611.计算机应用的最早领域是()A. 数值计算B. 人工智能C. 机器人D. 过程控制12.表达式a*(b+c)*d的后缀形式是()A. abcd*+*B. abc+*d*C. a*bc+*dD. b+c*a* d13. 冒泡排序的最坏时间复杂度为:A:O(nlogn) B:O(n) C:O(n2) D:O(logn)14.若串S=“copyright”,其子串的个数是()A. 72B. 45C. 46D. 3615.换行符的ASCII码为:A:1 B:9 C:10 D:3216.c++中等效于repeat……until ……的是:A:for(i=1;i<=……;i++) B:switch ( ) {case ^ :……;……} C:while (……)……D:do{…………} while ……17.以下语言面向过程的是:A:pascal B:汇编语言 C:机器语言 D:c++ 18.以下定义文件正确的是:A:freopen(”1.in”,’r’,cstin);B:freopen(’1.in’,’r’,stdin);C:freopen(“1.in”,”r”,cstin);D:freopen(“1.in”,”r”,stdin);19.以下语句不能计算a+b的是:A:c=a+b B:c+=a+b;C:for (i=1;i<a+b;i++)c++;D:if(a>b)c=a+b;else c=b+a;20.以下c++版本不支持万能头文件的是:A:Dev c++5.6.1 B:dev c++ 5.9.2 C:dev c++ 6.1.0 D:dev c++ 4.9.9.2二:问题求解 5%*2=10%1.0,1,1,2,3,5,8所属的数列的第18项与第19项之和为----------41812.等差数列10 13 16 19 22 25 28 ……310之和为16160 三:读程序写结果 8%*4=32%1.#include<bits/stdc++.h>using namespace std;int main(){int a=1,b=2;int c=a*b;int d=a*c+b*b;a=a+d+c*2;b=a*(a+b);double e;e=(double)b+2;if (b%3==0)printf("%0.2f",e);else cout<<a;}输出112.#include<bits/stdc++.h>using namespace std;int a,i,n1,n2,n3,x;int zs(int x){for (i=2;i<=sqrt(x);i++)if (x%i==0) return 1;return 0;}int main(){cin>>a;for (n1=2;n1<=a-4;n1++)for (n2=2;n2<=a-4;n2++){n3=a-n1-n2;if (zs(n1)+zs(n2)+zs(n3)!=0) continue;cout<<n1<<' '<<n2<<' '<<n3; return 0;}}输入2009 输出3 3 20033.#include<iostream>#include<cstdio>#include<string>#include<cctype>using namespace std;long long num,a[1001],p,m,n,len,i,ans[2001]; string s;int main(){cin>>n>>s>>m;len=s.length();for (i=1; i<=len; i++)if (isalpha(s[i-1])) a[i]=s[i-1]-55;else if (isdigit(s[i-1])) a[i]=s[i-1]-48; for (i=len,p=1; i>=1; i--,p*=n)num+=a[i]*p;for (len=1;num>0;num/=m,len++)ans[len]=num%m;for (i=len-1;i>=1;i--)if (ans[i]>=10) printf("%c",ans[i]+55);else printf("%c",ans[i]+48);return 0;}输入:16FF2输出111111114. #include<iostream> using namespacestd;int main() {string ch;int a[200];int b[200];int n, i, t, res;cin >> ch;n = ch.length();for (i = 0; i < 200; i++) b[i] = 0;for (i = 1; i <= n; i++) { a[i] = ch[i - 1] - '0';b[i] = b[i - 1] + a[i];}res = b[n];t = 0;for (i = n; i > 0; i--) {if (a[i] == 0)t++;if (b[i - 1] + t < res)res = b[i - 1] + t;}cout << res << endl;return 0;}输入 1001101011001101101011110001输出11四:完善程序共28%1.圆周率我们知道,当下较为认可的圆周率π计算公式为π/4=1-1/3+1/5-1/7+1/9-……现根据此公式编辑c++程序,要求计算的圆周率准确度随输入n 增加而增大。

2018NOIP信息奥赛普及级初赛模拟试卷

2018NOIP信息奥赛普及级初赛模拟试卷

2018NOIP 全国信息奥林匹克竞赛模拟试卷、选择题(共20题,每题1.5分,共30分)1.计算机中数据的表示形式是C(A)八进制(B)十进制(C)二进制(D)十六进制2.下列四个不同数制表示的数中,数值最大的是A 。

(A)二进制数11011101 (C)十进制数219 3.Windows9x 操作系统是一个A (A)单用户多任务操作系统 (C)多用户单任务操作系统 4.局域网中的计算机为了相互通信,(A )调制解调器(B )网卡(C )声卡(D )电视卡5 .域名后缀为edu 的主页一般属于_A —。

(A )教育机构(B )军事部门(C )政府部门(D )商业组织6 .数据和程序是以(B )形式存储在磁盘上的。

(A )集合(B )文件(。

目录(D )记录7 .计算机中运算器的作用是(C)A)控制数据的输入/输出B)控制主存与辅存间的数据交换C)完成各种算术运算和逻辑运算D)协调和指挥整个计算机系统的操作8 .目前,制造计算机所用的电子器件是—D —(A )大规模集成电路(B )晶体管(C )集成电路(D )大规模集成电路与超大规模集成电路9 .多媒体计算机是指—C —(A )具有多种外部设备的计算机(B )能与多种电器连接的计算机(C )能处理多种媒体的计算机(D )借助多种媒体操作的计算机10 .二叉树是非线性数据结构,所以___C 。

(A)它不能用顺序存储结构存储;(B)它不能用链式存储结构存储;(C)顺序存储结构和链式存储结构都能存储(D)顺序存储结构和链式存储结构都不能使用11 .计算机能直接执行的指令包括两部分,它们是(A )(A )源操作数与目标操作数(B )操作码与操作数(C )ASCII 码与汉字代码(D )数字与字符12 .若已知一棵二叉树的前序序列是BEFCGDH ,中序序列是FEBGCHD ,则它的后序序列必 是D(A )FEGHDBC (B )EFGHDBC (C )FEGHDCB (D )FEGHDCB13 .计算机系统总线上传送的信号有(B )(A )地址有信号与控制信号(B )数据信号、控制信号与地址信号(C )控制信号与数据信号(D )数据信号与地址信号14 .在长度为n 的顺序存储的线性表中,删除第i 个元素(1W i W n )时,需要从前向后依次前移A 个元素。

NOIP2018年提高组初赛模拟试题

NOIP2018年提高组初赛模拟试题

第二十三届全国青少年信息学奥林匹克联赛初赛提高组 PASCAL语言模拟试题竞赛时间:2017年 10 月 14 日 14:30~16:30选手注意:●试题纸共有 13 页,答题纸共有 2 页,满分 100 分。

请在答题纸上作答,写在试题纸上的一律无效。

●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。

一、单项选择题(共 15 题,每题 1.5 分,共计 22.5 分;每题有且仅有一个正确选项)1.1956年()授予肖克利(William Shockley)、巴丁(John Bardeen)和布拉顿(Walter Brattain),以表彰他们对半导体的研究和晶体管效应的发现。

A. 诺贝尔物理学奖B. 约翰·冯·诺依曼奖C. 图灵奖D. 高德纳奖(DonaldE. Knuth Prize)2.如果开始时计算机处于小写输入状态,现在有一只小老鼠反复按照 CapsLock、字母键 A、字母键 S 和字母键 D 的顺序来回按键,即 CapsLock、A、S、D、S、A、CapsLock、A、S、D、S、A、CapsLock、A、S、D、S、A、……,屏幕上输出的第 81 个字符是字母()。

A. A B. S C. D D. A3.二进制数 00101100 和 01010101 异或的结果是()。

A. 00101000 B. 01111001 C. 01000100 D. 001110004.与二进制小数 0.1 相等的八进进制数是()。

A. 0.8 B. 0.4 C. 0.2 D.0.15.以比较作为基本运算,在 N 个数中找最小数的最少运算次数为()。

A. N B. N-1 C. N2 D. log N6.表达式 a*(b+c)-d 的后缀表达形式为()。

A. abcd*+- B. abc+*d- C. abc*+d- D. -+*abcd7.一棵二叉树如右图所示,若采用二叉树链表存储该二叉树(各个结点包括结点的数据、左孩子指针、右孩子指针)。

(word完整版)NOIP提高组初赛历年试题及答案阅读题篇,.docx

(word完整版)NOIP提高组初赛历年试题及答案阅读题篇,.docx

(word完整版)NOIP提高组初赛历年试题及答案阅读题篇,.docxNOIP 提高组初赛历年试题及答案阅读题篇程序写果(共 4 ,每 8 分,共 32 分)程序的最好方法并非是依次从到尾。

程序不像迷,我无法从末尾几找到答案,也不像一本引人入的籍,只需直接翻到褶最多的那几,我就能找到最精彩的片断。

因此我在程序,最好逐一考察研究每一段代,搞清楚每一段代的来去脉,理解每一段代在程序中所起的作用,而形成一个虚的程序构,并以此基来行。

1、分:高入手,逐深入,正确理解程序。

2、写注解:固化、、提已有的理解成果。

3、先模:根据代序跟踪量,模运算。

4、找律:先模几次循后,找出背后的律。

5、看功能:从代构和运算果判断程序功能。

6、猜算法:有不知道算法,通构和函数猜一猜。

7、方法:了解程序本后,一个熟悉的方法。

大多数人来,写程序是令人开心的一件事情,人的程序却很痛苦,很恐惧,宁愿自己重写一遍。

其到好的程序,就像一篇美文,令人心神怡,豁然开朗,因背后是一个人的思,甚至整个人生。

人的程序不可以巩固自己的知,启自己的思,提升自己的修养,你收,其,也是在学、在、在工作中的最重要、最常用的基本功。

如果写程序是把自己的思化代,程序就是把代化你理解的人的思。

当你程序有烈的代入感,像演一,真正入到的精神世界,面部表情也随之日丰富起来。

祝你!你通关了!之,看得多,得多,拼得多,你就考得多??NOIP2011-1 .#include#includeusing namespace std;const int SIZE = 100;int main(){int n,i,sum,x,a[SIZE];cin>>n;memset(a,0,sizeof(a));for(i=1;i<=n;i++){cin>>x;a[x]++;}i=0;sum=0;while(sum<(n/2+1)){i++;sum+=a[i];}cout<<i<<endl;< p="">return 0;}输入:114 5 6 6 4 3 3 2 3 2 1一步步模拟,注意输出的是sum超出循环条件时的i 值(中位数),而不是sum ,也不是a[x]输出: 3NOIP2011-2 .#include using namespace std; int n;void f2(int x,int y); void f1(int x,int y){if(x<n)< p="">f2(y,x+y);}void f2(int x,int y){cout<<x<<' ';<="" p="">f1(y,x+y);}int main(){cin>>n;f1(0,1);return 0;}输入: 30此为简单的递归题,依次输出f2(x,y)中的x值,注意边界条件时f1(x,y)的x>=30咦!这不是隔一个输出一个的Fibonacci吗?输出: 1 2 5 13 34 NOIP2011-3 .#includeusing namespace std; const int V=100;int n,m,ans,e[V][V];bool visited[V];void dfs(int x,intlen){int i;visited[x]= true;if(len>ans)ans=len;for(i=1;i<=n;i++)if( (!visited[i]) &&(e[x][i]!=-1) ) dfs(i,len+e[x][i]); visited[x]=false;}int main(){int i,j,a,b,c;cin>>n>>m;for(i=1;i<=n;i++)for(j=1;j<=m;j++)e[i][j]=-1;for(i=1;i<=m;i++){cin>>a>>b>>c;e[a][b]=c;e[b][a]=c;}for(i=1;i<=n;i++)visited[i]=false;ans=0;for(i=1;i<=n;i++)dfs(i,0);cout<<ans<<endl;< p="">return 0;}输入:4 61 2 102 3 203 4 304 1 401 3 502 4 60一看就知这是深搜算法(DFS ),输入是个四个顶点的无向图(邻接矩阵如下):如len>ans,则ans=len,可以说明这是个在图中用DFS找最长的路径的程序。

NOIP2018复赛提高组Day1试题

NOIP2018复赛提高组Day1试题

CCF全国信息学奥林匹克联赛(NOIP2018)复赛提高组 day1(请选手务必仔细阅读本页内容)注意事项:1、文件名(程序名和输入输出文件名)必须使用英文小写。

2、C/C++中函数main()的返回值类型必须是int,程序正常结束时的返回值必须是0。

3、全国统一评测时采用的机器配置为:Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz,内存32GB。

上述时限以此配置为准。

4、只提供Linux格式附加样例文件。

5、特别提醒:评测在当前最新公布的NOI Linux下进行,各语言的编译器版本以其为准。

1.铺设道路(road.cpp/c/pas)【问题描述】春春是一名道路工程师,负责铺设一条长度为n的道路。

铺设道路的主要工作是填平下陷的地表。

整段道路可以看作是n块首尾相连的区域,一开始,第i块区域下陷的深度为d i。

春春每天可以选择一段连续区间[L,R],填充这段区间中的每块区域,让其下陷深度减少1。

在选择区间时,需要保证,区间内的每块区域在填充前下陷深度均不为0。

春春希望你能帮他设计一种方案,可以在最短的时间内将整段道路的下陷深度都变为0。

【输入格式】输入文件名为road.in。

输入文件包含两行,第一行包含一个整数n,表示道路的长度。

第二行包含n个整数,相邻两数间用一个空格隔开,第i个整数为d i。

【输出格式】输出文件名为road.out。

输出文件仅包含一个整数,即最少需要多少天才能完成任务。

road/road1.in road/road1.ans【样例解释】一种可行的最佳方案是,依次选择:[1,6]、[1,6]、[1,2]、[1,1]、[4,6]、[4,4]、[4,4]、[6,6]、[6,6]。

【输入输出样例2】见选手目录下的road/road2.in和road/road2.ans。

【数据规模与约定】对于 30% 的数据,1≤n≤10 ;对于 70% 的数据,1≤n≤1000 ;对于 100% 的数据,1≤n≤100000 ,0≤d i≤10000。

NOIP提高组初赛历年试题及答案阅读题篇

NOIP提高组初赛历年试题及答案阅读题篇

NOIP提高组初赛历年试题及答案阅读题篇阅读程序写结果(共4 题,每题8 分,共计32 分)阅读程序的最好方法并非是依次从头到尾。

程序不像迷语,我们无法从末尾几页找到答案,也不像一本引人入胜的书籍,只需直接翻到褶皱最多的那几页,我们就能找到最精彩的片断。

因此我们在阅读程序时,最好逐一考察研究每一段代码,搞清楚每一段代码的来龙去脉,理解每一段代码在程序中所起的作用,进而形成一个虚拟的程序结构,并以此为基础来进行阅读。

1、分层读:高层入手,逐层深入,正确理解程序。

2、写注解:固化、总结、提炼已有的理解成果。

3、先模拟:根据代码顺序跟踪变量,模拟运算。

4、找规律:先模拟几次循环后,找出背后的规律。

5、看功能:从代码结构和运算结果判断程序功能。

6、猜算法:有时不知道算法,通过结构和函数猜一猜。

7、换方法:了解程序本质后,换一个熟悉的方法试试。

对大多数人来说,写程序是令人开心的一件事情,读别人的程序却很痛苦,很恐惧,宁愿自己重写一遍。

其实读到好的程序,就像读一篇美文,令人心旷神怡,豁然开朗,因为这背后是一个人的思维,甚至整个人生。

阅读别人的程序不仅可以巩固自己的知识,启发自己的思维,提升自己的修养,让你收获满满,其实,这也是在学习、在竞赛、在工作中的最重要、最常用的基本功。

如果说写程序是把自己的思维转化为代码,读程序就是把代码转化为你理解的别人的思维。

当你阅读程序时有强烈的代入感,像演员一样,真正进入到编剧的精神世界,面部表情也随之日渐丰富起来。

祝贺你!你通关了!总之,看得多,码得多,拼得多,你就考得多……NOIP2011-1.#include <iostream>#include <cstring> using namespace std; const int SIZE = 100; int main(){int n,i,sum,x,a[SIZE]; cin>>n;memset(a,0,sizeof(a)); for(i=1;i<=n;i++){ cin>>x;a[x]++;}i=0;sum=0;while(sum<(n/2+1)){ i++;sum+=a[i];}cout<<i<<endl; return 0;}输入:4 5 6 6 4 3 3 2 3 2 1一步步模拟,注意输出的是sum超出循环条件时的i值(中位数),而不是sum,也不是a[x]输出:3NOIP2011-2.#include <iostream>using namespace std;int n;void f2(int x,int y);void f1(int x,int y){if(x<n)f2(y,x+y);void f2(int x,int y){cout<<x<<' ';f1(y,x+y);}int main(){cin>>n;f1(0,1);return 0;}输入:30此为简单的递归题,依次输出f2(x,y)中的x值,注意边界条件时f1(x,y)的x>=30咦!这不是隔一个输出一个的Fibonacci吗?输出:1 2 5 13 34NOIP2011-3.#include <iostream>using namespace std;const int V=100;int n,m,ans,e[V][V];bool visited[V];void dfs(int x,intlen){int i;visited[x]= true;if(len>ans)ans=len;for(i=1;i<=n;i++)if( (!visited[i]) &&(e[x][i]!=-1) ) dfs(i,len+e[x][i]);visited[x]=false;}int main(){int i,j,a,b,c;cin>>n>>m;for(i=1;i<=n;i++)for(j=1;j<=m;j++)e[i][j]=-1;for(i=1;i<=m;i++) {cin>>a>>b>>c; e[a][b]=c;e[b][a]=c;}for(i=1;i<=n;i++) visited[i]=false; ans=0;for(i=1;i<=n;i++) dfs(i,0);cout<<ans<<endl; return 0;}输入:4 61 2 102 3 203 4 304 1 401 3 502 4 60一看就知这是深搜算法(DFS),输入是个四个顶点的无向图(邻接矩阵如下):如len>ans,则ans=len,可以说明这是个在图中用DFS找最长的路径的程序。

NoipXX初赛提高组C试题及答案(完整版)

NoipXX初赛提高组C试题及答案(完整版)

NoipXX初赛提高组C试题及答案(完整版)Noipxx初赛提高组试题及答案(完整版)提高组C语言试题一、单项选择题(每题1.5分,共22.5分)。

1. 以下哪个是面向对象的高级语言( ). A. 汇编语言 B. C++ C. FORTRAN D. Basic2. 1TB代表的字节数量是( ). A. 2的10次方B. 2的20次方 C. 2的30次方 D. 2的40次方3. 二进制数00100100和00010101的和是( ). A. 00101000 B. 001010100 C. 01000101 D. 001110014. TCP协议属于哪一层协议( ). A. 应用层 B. 传输层 C. 网络层 D. 数据链路层 5. 以下几个32位IP地址中,书写错误的选项是( ). A. 162.105.128.27 B. 192.168.0.1 C. 256.256.129.1 D. 10.0.0.1 6. 在无向图中,所有定点的度数之和是边数的( )倍. A. 0.5 B. 1 C. 2 D. 4 7. 对长度位n的有序单链表,假设检索每个元素的概率相等,那么顺序检索到表中任一元素的平均检索长度为( ). A. n/2 B. (n+1)/2 C. (n-1)/2 D.n/4 8. 编译器的主要功能是( ). A. 将一种高级语言翻译成另一种高级语言 B. 将源程序翻译成指令 C. 将低级语言翻译成高级语言D. 将源程序重新组合 9. 二进制数111.101所对应的十进制数是( ). A. 5.625 B. 5.5 C. 6.125 D. 7.625 10. 假设有变量 int a, float x, y, 且 a=7, x=2.5, y=4.7, 那么表达式x+a%3*(int)(x+y)%2/4的值大约是( ). A. 2.500000 B. 2.750000 C. 3.500000 D. 0.000000 11. 有以下结构体说明和变量定义,如下图,指针p、q、r分别指向一个链表中的三个续结点。

2018年第二十四届全国青少年信息学奥林匹克联赛初赛提高组含答案(WORD重新整理排版)

2018年第二十四届全国青少年信息学奥林匹克联赛初赛提高组含答案(WORD重新整理排版)

第二十四届全国青少年信息学奥林匹克联赛初赛提高组 C++语言试题竞赛时间:2018 年 10 月 13 日 14:30~16:30(WORD重新整理排版)选手注意:●试题纸共有 9 页,答题纸共有 2 页,满分 100 分。

请在答题纸上作答,写在试题纸上的一律无效。

●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。

一、单项选择题(共 10 题,每题 2 分,共计 20 分;每题有且仅有一个正确选项)1. 下列四个不同进制的数中,与其它三项数值上不相等的是()。

A. (269)16B. (617)10C. (1151)8D. (1001101011)22. 下列属于解释执行的程序设计语言是()。

A. CB. C++C. PascalD. Python3. 中国计算机学会于()年创办全国青少年计算机程序设计竞赛。

A. 1983B. 1984C. 1985D. 19864. 设根节点深度为 0,一棵深度为 h 的满 k(k>1)叉树,即除最后一层无任何子节点外,每一层上的所有结点都有 k 个子结点的树,共有()个结点。

A. (k h+1 - 1) / (k - 1)B. k h-1C. k hD. (k h-1 ) / (k - 1)5. 设某算法的时间复杂度函数的递推方程是 T(n) = T(n - 1) + n(n 为正整数)及 T(0) = 1,则该算法的时间复杂度为()。

A. O(log n)B. O(n log n)C. O(n)D. O(n2 )6. 表达式 a * d - b * c 的前缀形式是()。

A. a d * b c * -B. - * a d * b cC. a * d - b * cD. - * * a d b c7. 在一条长度为 1 的线段上随机取两个点,则以这两个点为端点的线段的期望长度是()。

A. 1 / 2B. 1 / 3C. 2 / 3D. 3 / 58. 关于 Catalan 数 Cn = (2n)! / (n + 1)! / n!,下列说法中错误的是()。

NOIP2018模拟卷(2.0)

NOIP2018模拟卷(2.0)

2018年第二十三届全国青少年信息学奥林匹克联赛初赛(普及组 c++ 语言两小时完成)●● 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●选手注意:试题纸共有 8 页,答题纸共有 2 页,满分 100 分。

请在答题纸上作答,写在试题纸上的一律无效。

不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。

一、单项选择题(共 20 题,每题 1.5 分,共计 30 分;每题有且仅有一个正确选项)1、c++中“a=b=c”(a,b,c均为变量或表达式)的作用是:()A、判定a,b,c相等。

B、将a的值给b,c。

C、将c的值给a,b。

D、将b的值给a,c。

2、smalltalk是一种:()A、汇编语言。

B、面向对象的高级语言。

C、面向过程的高级语言。

D、算法。

3、11进制的所有基数是:()A、0,1,2,3,4,5,6,7,8,9,AB、1,2,3,4,5,6,7,8,9,A,BC、1,2,3,4,5,6,7,8,9,10,11D、0,1,2,3,4,5,6,7,8,9,104、以下代码中能实现s=a+b的是:()A、s=a;for (int i=1;i<b;i++) s++;B、s=b;for (int i=0;i<=a;i++) ++s;C、s=0;for (int i=1;i<=a;i++)for (int j=1;j<=b;j++) s++;CCF NOIP2018 初赛D、s=a*b+b;for (int i=1;i<b;i++) s-=a;5、FTP协议是:()A:远程登录协议 B:文件传输协议C:电子邮件收发协议 D:快速文件传输协议6、(2^10(此处指乘方))2=()A、10000000000B、1111111111C、1023D、10247、2018的二进制位数为:()A、9B、10C、11D、20188、2TB=()A、10^3GBB、2^10KBC、2^20MBD、10^9B9、高速缓存的英文缩写是:()A、TCP/IPB、CPUC、ROMD、Cache10、以下不属于计算机病毒性质的是:()A、简便性B、寄生性C、潜伏性D、隐蔽性11、满足()的题目,可以使用动态规划。

NOIP初赛模拟考试题及答案解析

NOIP初赛模拟考试题及答案解析

信息学奥林匹克联赛初赛模拟试题(普及组 C 语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一.选择一个正确答案代码(A/B/C/D/E),填入每题的括号内 (每题1.5分, 共30分)1.被誉为“人工智能之父”的是()。

A.冯·诺依曼。

B.巴贝奇。

C.文顿·瑟夫和卡恩。

D.阿兰·图灵。

E.弗雷德里克·特曼。

2.下列哪个不是CPU(中央处理单元)()。

A. Intel ItaniumB. DDR SDRAMC. AMD Athlon64D. AMD OpteronE. IBM Power 53.常见的邮件传输服务器使用()协议发送邮件。

A. HTTPB. SMTPC. TCPD. FTPE. POP34.下列无符号数中,最小的数是()。

A.(11011001)2B.(75)10C.(37)8D.(2A)165.下列哪个软件属于操作系统软件()。

A. Microsoft WordB. PhotoshopC. FoxmailD. WinRARE. Red Hat Linux6.下列哪个不是计算机的存储设备()。

A. 文件管理器B. 内存C. 高速缓存D. 硬盘E. U盘7.组成’教授’(jiao shou )’副教授’(fu jiao shou )与’讲师’( jiang shi)这三个词的汉字,在GB2312-80字符集中都是一级汉字.对这三个词排序的结果是()。

A教授,副教授,讲师 B.副教授,教授,讲师C讲师,副教授,教授 D.副教授,讲师,教授8.彩色显示器所显示的五彩斑斓的色彩,是由红色、蓝色和()色混合而成的。

A. 紫B. 白C. 黑D. 绿E. 橙9.以下哪个软件不是即时通信软件()。

A. 网易泡泡B. MSN MessengerC. Google TalkD. 3DS MaxE. QQ10.一台计算机如果要利用电话线上网,就必须配置能够对数字信号和模拟信号进行相互转换的设备,这种设备是()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二十三届全国青少年信息学奥林匹克联赛初赛提高组 PASCAL语言模拟试题竞赛时间:2017年 10 月 14 日 14:30~16:30选手注意:●试题纸共有 13 页,答题纸共有 2 页,满分 100 分。

请在答题纸上作答,写在试题纸上的一律无效。

●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。

一、单项选择题(共 15 题,每题 1.5 分,共计 22.5 分;每题有且仅有一个正确选项)1.1956年()授予肖克利(William Shockley)、巴丁(John Bardeen)和布拉顿(Walter Brattain),以表彰他们对半导体的研究和晶体管效应的发现。

A. 诺贝尔物理学奖B. 约翰·冯·诺依曼奖C. 图灵奖D. 高德纳奖(DonaldE. Knuth Prize)2.如果开始时计算机处于小写输入状态,现在有一只小老鼠反复按照 CapsLock、字母键 A、字母键 S 和字母键 D 的顺序来回按键,即 CapsLock、A、S、D、S、A、CapsLock、A、S、D、S、A、CapsLock、A、S、D、S、A、……,屏幕上输出的第 81 个字符是字母()。

A. A B. S C. D D. A3.二进制数 00101100 和 01010101 异或的结果是()。

A. 00101000 B. 01111001 C. 01000100 D. 001110004.与二进制小数 0.1 相等的八进进制数是()。

A. 0.8 B. 0.4 C. 0.2 D.0.15.以比较作为基本运算,在 N 个数中找最小数的最少运算次数为()。

A. N B. N-1 C. N2 D. log N6.表达式 a*(b+c)-d 的后缀表达形式为()。

A. abcd*+- B. abc+*d- C. abc*+d- D. -+*abcd7.一棵二叉树如右图所示,若采用二叉树链表存储该二叉树(各个结点包括结点的数据、左孩子指针、右孩子指针)。

如果没有左孩子或者右孩子,则对应的为空指针。

那么该链表中空指针的数目为()。

A. 6B. 7C. 12 D. 148.G 是一个非连通简单无向图,共有 28 条边,则该图至少有()个顶点。

9.某计算机的 CPU 和内存之间的地址总线宽度是 32 位(bit),这台计算机最多可以使用()的内存。

A. 2GBB. 4GBC. 8GBD. 16GB10.无论是TCP/IP模型还是OSI模型,都可以视为网络的分层模型,每个网络协议都会被归入某一层中。

如果用现实生活中的例子来比喻这些“层”,以下最恰当的是()。

A.中国公司的经理与波兰公司的经理交互商业文件B.军队发布命令C.国际会议中,每个人都与他国地位对等的人直接进行会谈D.体育比赛中,每一级比赛的优胜者晋级上一级比赛11.有 7 个一模一样的苹果,放到 3 个一样的盘子中,一共有()种放法。

A. 7 B. 8 C. 21 D. 3712.Lucia 和她的朋友以及朋友的朋友都在某社交网站上注册了账号。

下图是他们之间的关系图,两个人之间有边相连代表这两个人是朋友,没有边相连代表不是朋友。

这个社交网站的规则是:如果某人 A 向他(她)的朋友 B 分享了某张照片,那么 B 就可以对该照片进行评论;如果 B 评论了该照片,那么他(她)的所有朋友都可以看见这个评论以及被评论的照片,但是不能对该照片进行评论(除非 A 也向他(她)分享了该照片)。

现在 Lucia 已经上传了一张照片,但是她不想让 Jacob 看见这张照片,那么她可以向以下朋友( )分享该照片。

A. Dana, Michael, Eve B. Dana, Eve, MonicaC. Michael, Eve, Jacob D. Micheal, Peter, Monica13. 周末小明和爸爸妈妈三个人一起想动手做三道菜。

小明负责洗菜、爸爸负责 切菜、妈妈负责炒菜。

假设做每道菜的顺序都是:先洗菜 10 分钟,然后切 菜 10 分钟,最后炒菜 10 分钟。

那么做一道菜需要 30 分钟。

注意:两道不 同的菜的相同步骤不可以同时进行。

例如第一道菜和第二道的菜不能同时洗, 也不能同时切。

那么做完三道菜的最短时间需要( )分钟。

A. 90B. 60C. 50D. 4014. 假设某算法的计算时间表示为递推关系式 T(n) = 2T(4n )+n T(1) = 1则算法的时间复杂度为( )。

A.O(n )B. O(n )C. O(n logn)D. O(n 2)15.给定含有 n 个不同的数的数组 L=<x 1, x 2, ..., x n >。

如果 L 中存在 x i (1 < i < n ) 使得 x 1 < x 2 < ... < x i-1 < x i > x i+1 > ... > x n , 则称 L 是单峰的,并称 x i 是 L 的“峰顶”。

现在已知 L 是单峰的,请把 a-c 三行代码补全到算法中使得算法 正确找到 L 的峰顶。

a. Search(k+1, n)b. Search(1, k-1)c. return L[k]Search(1, n)1. k← [n/2]2. if L[k] > L[k-1] and L[k] > L[k+1]3. then __________4. else if L[k] > L[k-1] and L[k] < L[k+1]5. then __________6. else __________ 正确的填空顺序是( )。

A. c, a, bB. c, b, aC. a, b, cD. b, a, c二、不定项选择题(共 5 题,每题 1.5 分,共计 7.5 分;每题有一个或多个正确 选项,多选或少选均不得分)1.以下属于无线通信技术的有()。

A. 蓝牙B. WiFiC. GPRSD. 以太网2.可以将单个计算机接入到计算机网络中的网络接入通讯设备有()。

A. 网卡B. 光驱C. 鼠标D. 显卡3.下列算法中运用分治思想的有()。

A. 快速排序B. 归并排序C. 冒泡排序D. 计数排序4.下图表示一个果园灌溉系统,有 A、B、C、D 四个阀门,每个阀门可以打开或关上,所有管道粗细相同,以下设置阀门的方法中,可以让果树浇上水的有水有水果树有()。

A. B 打开,其他都关上B. AB 都打开,CD 都关上C. A 打开,其他都关上D. D 打开,其他都关上5. 参加NOI比赛,以下能带入考场的有()。

A. 钢笔B. 适量的衣服C. U 盘D. 铅笔三、问题求解(共 2 题,每题 5 分,共计 10 分;每题全部答对得 5 分,没有部分分)1. 在1和2015之间(包括1和2015在内)不能被4、5、6三个数任意一个数整除的数有_________个。

2. 结点数为5的不同形态的二叉树一共有_________种。

(结点数为2的二叉树一共有2种:一种是根结点和左儿子,另一种是根结点和右儿子。

)四、阅读程序写结果(共4题,每题8分,共计32分)1.n, i, sum, x : integer;a : array[1..SIZE] of integer; beginreadln(n);fillchar(a, sizeof(a), 0);for i:= 1 to n dobeginread(x);inc(a[x]);end;i := 0;sum := 0;while sum < (n div 2 + 1) dobegininc(i);sum :=sum + a[i];end;writeln(i);end.输入:114 5 6 6 4 3 3 2 3 2 1输出:2.varn : integer;procedure f2(x, y : integer); forward;procedure f1(x, y : integer); beginif x < n thenf2(y, x + y);end;procedure f2(x, y : integer); beginwrite(x, ’’);f1(y, x + y);end;beginreadln(n);f1(0, 1);end.输入:30输出:_____________V = 100;varvisited : array[1..v] of boolean;e : array[1..V, 1..V] of integer;n, m, ans, i, j, a, b, c : integer; procedure dfs(x, len : integer);varI : integer;beginvisited[x] := true;if len > ans then ans := len;for i := 1 to n doif (not visited[i]) and (e[x, i] <> -1) then dfs(i, len + e[x, i]);visited[x] := false;end;beginreadln(n, m);for i := 1 to n dofor j := 1 to n doe[i][j] := -1;for i := 1 to m dobeginreadln(a, b, c);e[a][b] := c;e[b][a] := c;end;for i := 1 to n dovisited[i] := 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输出:__________SIZE = 10000;LENGTH = 10;varsum : longint;n, m, i, j : integer;a : array[1..SIZE, 1..LENGTH] of integer;function h(u, v : integer) : integer;varans, i : integer;beginans := 0;for i := 1 to n doif a[u][i] <> a[v][i] theninc(ans);h := ans;end;beginreadln(n);filichar(a, sizeof(a), 0);m := 1;repeati := 1;while (i <= n) and (a[m][i] = 1) doinc(i);if i > n thenbreak;inc(m);a[m][i] :=1;for j := i + 1 to n doa[m][j] := a[m - 1][j];until false;sum :=0;for i := 1 to m dofor j := 1 to m dosum := sum + h(i, j);writeln(sum);end.输入:7输出:____________五、完善程序(共2题,每题14分,共计28分)1. (双子序列最大和)给定一个长度为n(3 ≤ n ≤ 1000)的整数序列,要求从中选出两个连续子序列,使得这两个连续子序列的序列和之和最大,最终只需输出这个最大和。

相关文档
最新文档