noip2017复赛提高组day1试题
新鲜出炉,NOIP?2017全国青少年信息学奥林匹克联赛提高组初赛试题答案

新鲜出炉,NOIP 2017全国青少年信息学奥林匹克联赛提高组初赛试题答案关键词:信息学竞赛,NOIP,自主招生,青少年编程,少儿编程,苏州一、单项选择题(共 15 题,每题 1.5 分,共计 22.5 分;每题有且仅有一个正确选项)1. 从( )年开始,NOIP 竞赛将不再支持 Pascal 语言。
A. 2020B. 2021C. 2022D. 20232.在 8 位二进制补码中,10101011 表示的数是十进制下的( )。
A. 43B. -85C. -43D.-843.分辨率为1600x900、16 位色的位图,存储图像信息所需的空间为( )。
A. 2812.5KBB. 4218.75KBC. 4320KBD. 2880KB4. 2017年10月1日是星期日,1949年10月1日是( )。
A. 星期三B. 星期日C. 星期六D. 星期二5. 设 G 是有 n 个结点、m 条边(n ≤m)的连通图,必须删去 G 的( )条边,才能使得 G 变成一棵树。
A.m–n+1B. m-nC. m+n+1D.n–m+16. 若某算法的计算时间表示为递推关系式:T(N)=2T(N/2)+NlogNT(1)=1则该算法的时间复杂度为( )。
A.O(N)B.O(NlogN)C.O(N log2N)D.O(N2)7. 表达式a * (b + c) * d的后缀形式是()。
A. abcd*+*B. abc+*d*C. a*bc+*dD. b+c*a*d8. 由四个不同的点构成的简单无向连通图的个数是( )。
A. 32B. 35C. 38D. 419. 将7个名额分给4个不同的班级,允许有的班级没有名额,有( )种不同的分配方案。
A. 60B. 84C. 96D.12010. 若f[0]=0, f[1]=1, f[n+1]=(f[n]+f[n-1])/2,则随着i的增大,f[i]将接近与( )。
A. 1/2B. 2/3D. 111. 设A和B是两个长为n的有序数组,现在需要将A和B合并成一个排好序的数组,请问任何以元素比较作为基本运算的归并算法最坏情况下至少要做( )次比较。
【精选资料】NOIP提高组复赛试题与简解转载

Day1铺地毯【问题描述】为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。
一共有n 张地毯,编号从1 到n。
现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。
地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。
注意:在矩形地毯边界和四个顶点上的点也算被地毯覆盖。
【输入】输入文件名为 carpet.in。
输入共 n+2 行。
第一行,一个整数 n,表示总共有n 张地毯。
接下来的 n 行中,第i+1 行表示编号i 的地毯的信息,包含四个正整数a,b,g,k,每两个整数之间用一个空格隔开,分别表示铺设地毯的左下角的坐标(a,b)以及地毯在x轴和y 轴方向的长度。
第 n+2 行包含两个正整数x 和y,表示所求的地面的点的坐标(x,y)。
【输出】输出文件名为 carpet.out。
输出共 1 行,一个整数,表示所求的地毯的编号;若此处没有被地毯覆盖则输出-1。
【输入输出样例 1】【输入输出样例说明】如下图,1 号地毯用实线表示,2 号地毯用虚线表示,3 号用双实线表示,覆盖点(2,2)的最上面一张地毯是3 号地毯。
【输入输出样例 2】【输入输出样例说明】如上图,1 号地毯用实线表示,2 号地毯用虚线表示,3 号用双实线表示,点(4,5)没有被地毯覆盖,所以输出-1。
【数据范围】对于 30%的数据,有n≤2;对于 50%的数据,0≤a, b, g, k≤100;对于 100%的数据,有0≤n≤10,000,0≤a, b, g, k≤100,000。
【一句话题意】给定n个按顺序覆盖的矩形,求某个点最上方的矩形编号。
【考察知识点】枚举【思路】好吧我承认看到图片的一瞬间想到过二维树状数组和二维线段树。
置答案ans=-1,按顺序枚举所有矩形,如果点在矩形内则更新ans。
注意题中给出的不是对角坐标,实际上是(a,b)与(a+g,b+k)。
NOIP2017全国青少年信息学奥林匹克联赛提高组初赛试题卷答案解析

NOIP 2017全国青少年信息学奥林匹克联赛提高组初赛试题答案一、单项选择题(共 15 题,每题 1.5 分,共计 22.5 分;每题有且仅有一个正确选项) 1. 从( )年开始,NOIP 竞赛将不再支持 Pascal 语言。
A. 2020B. 2021C. 2022D. 20232.在 8 位二进制补码中,10101011 表示的数是十进制下的( )。
A. 43B. -85C. -43D.-843.分辨率为 1600x900、16 位色的位图,存储图像信息所需的空间为( )。
A. 2812.5KBB. 4218.75KBC. 4320KBD. 2880KB4. 2017年10月1日是星期日,1949年10月1日是( )。
A. 星期三B. 星期日C. 星期六D. 星期二5. 设 G 是有 n 个结点、m 条边(n ≤m)的连通图,必须删去 G 的( )条边,才能使得 G 变成一棵树。
A.m–n+1B. m-nC. m+n+1D.n–m+16. 若某算法的计算时间表示为递推关系式:T(N)=2T(N/2)+NlogNT(1)=1则该算法的时间复杂度为( )。
A.O(N)B.O(NlogN)C.O(N log2N)D.O(N2)7. 表达式a * (b + c) * d的后缀形式是()。
A. abcd*+*B. abc+*d*C. a*bc+*dD. b+c*a*d8. 由四个不同的点构成的简单无向连通图的个数是( )。
A. 32B. 35C. 38D. 419. 将7个名额分给4个不同的班级,允许有的班级没有名额,有( )种不同的分配方案。
A. 60B. 84C. 96D.12010. 若f[0]=0, f[1]=1, f[n+1]=(f[n]+f[n-1])/2,则随着i的增大,f[i]将接近与( )。
A. 1/2B. 2/3D. 111. 设A和B是两个长为n的有序数组,现在需要将A和B合并成一个排好序的数组,请问任何以元素比较作为基本运算的归并算法最坏情况下至少要做( )次比较。
学科竞赛-NOIP2017_普及组复赛试题

NOIP2017_普及组复赛试题CCF全国信息学奥林匹克联赛(NOIP2017)复赛普及组(请选手务必仔细阅读本页内容)注意事项:1、文件名(程序名和输入输出文件名)必须使用英文小写。
2、C/C++中函数main()的返回值类型必须是int,程序正常结束时的返回值必须是0。
3、全国统一评测时采用的机器配置为:CPU AMD Athlon(tm) II x2 240 processor,2.8GHz,内存4G,上述时限以此配置为准。
4、只提供Linux格式附加样例文件。
5、提交的程序代码文件的放置位置请参照各省的具体要求。
6、特别提醒:评测在当前最新公布的NOI Linux下进行,各语言的编译器版本以其为准。
1. 成绩(score.cpp/c/pas)【问题描述】牛牛最近学习了C++入门课程,这门课程的总成绩计算方法是:总成绩=作业成绩×20%+小测成绩×30%+期末考试成绩×50%牛牛想知道,这门课程自己最终能得到多少分。
【输入格式】输入文件名为score.in。
输入文件只有1行,包含三个非负整数A、B、C,分别表示牛牛的作业成绩、小测成绩和期末考试成绩。
相邻两个数之间用一个空格隔开,三项成绩满分都是100分。
【输出格式】输出文件名为score.out。
输出文件只有1行,包含一个整数,即牛牛这门课程的总成绩,满分也是100分。
见选手目录下的score/score1.in和score/score1.ans。
【输入输出样例1说明】牛牛的作业成绩是100分,小测成绩是100分,期末考试成绩是80分,总成绩是100×20%+100×30%+80×50%=20+30+40=90。
【输入输出样例2说明】牛牛的作业成绩是60分,小测成绩是90分,期末考试成绩是80分,总成绩是60×20%+90×30%+80×50%=12+27+40=79。
NOIP2017提高组初赛试题与答案

NOIP2017提高组初赛试题及答案一、单项选择题〔共15 题,每题1.5 分,共计22.5 分;每题有且仅有一个正确选项1. 从< >年开始,NOIP 竞赛将不再支持Pascal 语言。
CA. 2020 B. 2021 C. 2022 D. 20232.在8 位二进制补码中,10101011 表示的数是十进制下的< >。
BA. 43 B. -85 C. -43 D.-843.分辨率为1600x900、16 位色的位图,存储图像信息所需的空间为< >。
AA. 2812.5KBB. 4218.75KBC. 4320KBD. 2880KB4. 2017年10月1日是星期日,1949年10月1日是< >。
CA. 星期三B. 星期日C. 星期六D. 星期二5. 设G 是有n 个结点、m 条边<n ≤m>的连通图,必须删去G 的< >条边,才能使得G 变成一棵树。
AA.m–n+1B. m-nC. m+n+1D.n–m+16. 若某算法的计算时间表示为递推关系式:T<N>=2T<N/2>+NlogNT<1>=1则该算法的时间复杂度为< >。
CA.O<N> B.O<NlogN>C.O<N log2N> D.O<N2>7. 表达式a * <b + c> * d的后缀形式是<>。
BA. abcd*+* B. abc+*d*C. a*bc+*d D. b+c*a*d8. 由四个不同的点构成的简单无向连通图的个数是< >。
CA. 32 B. 35 C. 38D. 419. 将7个名额分给4个不同的班级,允许有的班级没有名额,有< >种不同的分配方案。
DA. 60 B. 84 C. 96 D.12010. 若f[0]=0, f[1]=1, f[n+1]=<f[n]+f[n-1]>/2,则随着i的增大,f[i]将接近与< >。
NOIP2017提高组初赛试题及答案

NOIP2017提高组初赛试题及答案一、单项选择题(共15 题,每题1.5 分,共计22.5 分;每题有且仅有一个正确选项)1. 从( )年开始,NOIP 竞赛将不再支持Pascal 语言。
C A. 2020 B. 2021 C. 2022 D. 20232.在8 位二进制补码中,10101011 表示的数是十进制下的( )。
B A. 43 B. -85 C. -43 D.-843.分辨率为1600x900、16 位色的位图,存储图像信息所需的空间为( )。
AA. 2812.5KBB. 4218.75KBC. 4320KBD. 2880KB4. 2017年10月1日是星期日,1949年10月1日是( )。
C A. 星期三 B. 星期日 C. 星期六 D. 星期二5. 设G 是有n 个结点、m 条边(n ≤m)的连通图,必须删去G 的( )条边,才能使得G 变成一棵树。
AA.m–n+1B. m-nC. m+n+1D.n–m+16. 若某算法的计算时间表示为递推关系式: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*d8. 由四个不同的点构成的简单无向连通图的个数是( )。
C A. 32 B. 35 C. 38D. 419. 将7个名额分给4个不同的班级,允许有的班级没有名额,有( )种不同的分配方案。
D A. 60 B. 84 C. 96 D.12010. 若f[0]=0, f[1]=1, f[n+1]=(f[n]+f[n-1])/2,则随着i的增大,f[i]将接近与( )。
BA. 1/2B. 2/3 D. 111. 设A和B是两个长为n的有序数组,现在需要将A和B合并成一个排好序的数组,请问任何以元素比较作为基本运算的归并算法最坏情况下至少要做( )次比较。
NOIP2017提高组C++精彩试题

第二十三届全国青少年信息学奥林匹克联赛初赛提高组 C++语言试题竞赛时间:2017 年 10 月 14 日 14:30~16:30选手注意:试题纸共有 10 页,答题纸共有 2 页,满分 100 分。
请在答题纸上作答,写在试题纸上的一律无效。
不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。
一、单项选择题(共 15 题,每题 1.5 分,共计 22.5 分;每题有且仅有一个正确选项)1. 从( )年开始,NOIP 竞赛将不再支持 Pascal 语言。
A. 2020 B. 2021 C. 2022 D. 20232. 在 8 位二进制补码中,10101011 表示的数是十进制下的( )。
A. 43B. -85C. -43D. -843. 分辨率为 1600x900、16 位色的位图,存储图像信息所需的空间为( )。
A. 2812.5KB B. 4218.75KB C. 4320KB D. 2880KB 4. 2017 年 10 月 1 日是星期日,1949 年 10 月 1 日是( )。
A. 星期三B. 星期日C. 星期六D. 星期二5. 设 G 是有 n 个结点、m 条边(n ≤ m )的连通图,必须删去 G 的( )条边, 才能使得 G 变成一棵树。
A. m – n + 1B. m - nC. m + n + 1D. n – m + 16. 若某算法的计算时间表示为递推关系式:T(N) = 2T(N / 2) + N log N T(1) = 1则该算法的时间复杂度为( )。
A. O(N)B. O(N log N)C. O(N log 2 N)D. O(N 2)7. 表达式 a * (b + c) * d 的后缀形式是( )。
A. a b c d * + *B. a b c + * d *C. a * b c + * dD. b + c * a * d 8. 由四个不同的点构成的简单无向连通图的个数是( )。
NOIP2017提高组C++试题

第二十三届全国青少年信息学奥林匹克联赛初赛提高组C++语言试题竞赛时间:2017年10月14日14:30~16:30选手注意:试题纸共有10页,答题纸共有2页,满分100分。
请在答题纸上作答,写在试题纸上的一律无效。
不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。
一、单项选择题(共15题,每题 1.5分,共计22.5分;每题有且仅有一个正确选项)1.从()年开始,NOIP竞赛将不再支持Pascal语言。
A. 2020B. 2021C. 2022D. 20232.在8位二进制补码中,10101011表示的数是十进制下的()。
A. 43B. -85C. -43D. -843.分辨率为1600x900、16位色的位图,存储图像信息所需的空间为()。
A. 2812.5KBB. 4218.75KBC. 4320KBD. 2880KB4.2017年10月1日是星期日,1949年10月1日是()。
A. 星期三B. 星期日C. 星期六D. 星期二5.设G是有n个结点、m条边(n ≤ m)的连通图,必须删去G的()条边,才能使得G变成一棵树。
A. m – n + 1B. m - nC. m + n + 1D. n – m + 16.若某算法的计算时间表示为递推关系式:T(N) = 2T(N / 2) + N log NT(1) = 1则该算法的时间复杂度为()。
A. O(N)B. O(N log N)C. O(N log2 N)D. O(N2)7.表达式a * (b + c) * d的后缀形式是()。
A. a b c d * + *B. a b c + * d *C. a * b c + * dD. b + c * a * d8.由四个不同的点构成的简单无向连通图的个数是()。
A. 32B. 35C. 38D. 419.将7个名额分给4个不同的班级,允许有的班级没有名额,有()种不同的分配方案。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
全国信息学奥林匹克联赛(NOIP2017)复赛 提高组 day1 第1页共7页 CCF全国信息学奥林匹克联赛(NOIP2017)复赛
提高组 day1 (请选手务必仔细阅读本页内容) 一.题目概况 中文题目名称 小凯的疑惑 时间复杂度 逛公园 英文题目与子目录名 math complexity park 可执行文件名 math complexity park 输入文件名 math.in complexity.in park.in 输出文件名 math.out complexity.out park.out 每个测试点时限 1秒 1秒 3秒 测试点数目 20 10 10 每个测试点分值 5 10 10 附加样例文件 有 有 有 结果比较方式 全文比较(过滤行末空格及文末回车) 题目类型 传统 传统 传统 运行内存上限 256M 256M 512M
二.提交源程序文件名 对于C++语言 math.cpp complexity.cpp park.cpp 对于C语言 math.c complexity.c park.c 对于pascal语言 math.pas complexity.pas park.pas
三.编译命令(不包含任何优化开关) 对于C++语言 g++ -o math math.cpp -lm g++ -o complexity complexity.cpp -lm g++ -o park park.cpp -lm 对于C语言 gcc -o math math.c -lm gcc -o complexity complexity.c -lm gcc -o park park.c -lm 对于pascal语言 fpc math.pas fpc complexity.pas fpc park.pas
注意事项: 1、文件名(程序名和输入输出文件名)必须使用英文小写。 2、C/C++中函数main()的返回值类型必须是int,程序正常结束时的返回值必须是0。 3、全国统一评测时采用的机器配置为:CPU AMD Athlon(tm) II x2 240 processor,2.8GHz,内存4G,上述时限以此配置为准。 4、只提供Linux格式附加样例文件。 5、提交的程序代码文件的放置位置请参照各省的具体要求。 6、特别提醒:评测在当前最新公布的NOI Linux下进行,各语言的编译器版本以其为准。 全国信息学奥林匹克联赛(NOIP2017)复赛 提高组 day1 第2页共7页 1.小凯的疑惑 (math.cpp/c/pas) 【问题描述】 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。现在小凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在小凯无法准确支付的商品。
【输入格式】 输入文件名为math.in。 输入数据仅一行,包含两个正整数a和b,它们之间用一个空格隔开,表示小凯手中金币的面值。
【输出格式】 输出文件名为math.out。 输出文件仅一行,一个正整数N,表示不找零的情况下,小凯用手中的金币不能准确支付的最贵的物品的价值。
【输入输出样例1】 math.in math.out 3 7 11
见选手目录下的math/math1.in和math/math1.ans。 【输入输出样例1说明】 小凯手中有面值为3和7的金币无数个,在不找零的前提下无法准确支付价值为1、2、4、5、8、11的物品,其中最贵的物品价值为11,比11贵的物品都能买到,比如: 12 = 3 * 4 + 7 * 0 13 = 3 * 2 + 7 * 1 14 = 3 * 0 + 7 * 2 15 = 3 * 5 + 7 * 0 ……
【输入输出样例2】 见选手目录下的math/math2.in和math/math2.ans。
【数据规模与约定】 对于30%的数据: 1 ≤ a,b ≤ 50。 对于60%的数据: 1 ≤ a,b ≤ 10,000。 对于100%的数据:1 ≤ a,b ≤ 1,000,000,000。 全国信息学奥林匹克联赛(NOIP2017)复赛 提高组 day1 第3页共7页 2.时间复杂度 (complexity.cpp/c/pas) 【问题描述】 小明正在学习一种新的编程语言A++,刚学会循环语句的他激动地写了好多程序并给出了他自己算出的时间复杂度,可他的编程老师实在不想一个一个检查小明的程序,于是你的机会来啦!下面请你编写程序来判断小明对他的每个程序给出的时间复杂度是否正确。 A++语言的循环结构如下:
其中“F i x y”表示新建变量 i(变量i不可与未被销毁的变量重名)并初始化为 x,然后判断i和y的大小关系,若i小于等于y则进入循环,否则不进入。每次循环结束后i都会被修改成i +1,一旦i 大于 y 终止循环。 x和y 可以是正整数(x和y的大小关系不定)或变量n。n是一个表示数据规模的变量,在时间复杂度计算中需保留该变量而不能将其视为常数,该数远大于100。 “E”表示循环体结束。循环体结束时,这个循环体新建的变量也被销毁。 注:本题中为了书写方便,在描述复杂度时,使用大写英文字母“O”表示通常意义下“Θ”的概念。
【输入格式】 输入文件名为complexity.in。 输入文件第一行一个正整数t,表示有t(t≤10)个程序需要计算时间复杂度。每个程序我们只需抽取其中 “F i x y”和“E”即可计算时间复杂度。注意:循环结构允许嵌套。 接下来每个程序的第一行包含一个正整数 L和一个字符串,L代表程序行数,字符串表示这个程序的复杂度,“O(1)”表示常数复杂度,“O(n^w)”表示复杂度为𝑛𝑤,其中w是一个小于100的正整数(输入中不包含引号),输入保证复杂度只有O(1)和O(n^w)两种类型。 接下来 L 行代表程序中循环结构中的“F i x y”或者 “E”。 程序行若以“F”开头,表示进入一个循环,之后有空格分离的三个字符(串)i x y,其中i是一个小写字母(保证不为“n”),表示新建的变量名,x 和 y 可能是正整数或 n ,已知若为正整数则一定小于100。 程序行若以“E”开头,则表示循环体结束。 【输出格式】 输出文件名为complexity.out。 输出文件共t行,对应输入的t个程序,每行输出“Yes”或“No”或者“ERR”(输出中不包含引号),若程序实际复杂度与输入给出的复杂度一致则输出“Yes”,不一致则输出“No”,若程序有语法错误(其中语法错误只有: ① F 和 E 不匹配 ②新建的变量与已经存在但未被销毁的变量重复两种情况),则输出“ERR”。 注意:即使在程序不会执行的循环体中出现了语法错误也会编译错误,要输出“ERR”。
F i x y 循环体 E 全国信息学奥林匹克联赛(NOIP2017)复赛 提高组 day1
第4页共7页 【输入输出样例1】 complexity.in complexity.out 8 2 O(1) F i 1 1 E 2 O(n^1) F x 1 n E 1 O(1) F x 1 n 4 O(n^2) F x 5 n F y 10 n E E 4 O(n^2) F x 9 n E F y 2 n E 4 O(n^1) F x 9 n F y n 4 E E 4 O(1) F y n 4 F x 9 n E E 4 O(n^2) F x 1 n F x 1 10 E E Yes Yes ERR Yes No Yes Yes ERR
见选手目录下的 complexity/complexity1.in和complexity/complexity1.ans。
【输入输出样例1说明】 第一个程序 i 从1到1是常数复杂度。 第二个程序 x 从1到n是n的一次方的复杂度。 全国信息学奥林匹克联赛(NOIP2017)复赛 提高组 day1 第5页共7页 第三个程序有一个F开启循环却没有E结束,语法错误。 第四个程序二重循环,n的平方的复杂度。 第五个程序两个一重循环,n的一次方的复杂度。 第六个程序第一重循环正常,但第二重循环开始即终止(因为n远大于100,100大于4)。 第七个程序第一重循环无法进入,故为常数复杂度。 第八个程序第二重循环中的变量x与第一重循环中的变量重复,出现语法错误②,输出ERR。
【输入输出样例2】 见选手目录下的 complexity/complexity2.in和complexity/complexity2.ans。 【数据规模与约定】 对于30%的数据:不存在语法错误,数据保证小明给出的每个程序的前L/2行一定为以F开头的语句,第L/2+1行至第L行一定为以E开头的语句,L<=10,若x、y均为整数,x 一定小于 y,且只有y有可能为n。 对于50%的数据:不存在语法错误,L<=100,且若x、y均为整数,x 一定小于 y,且只有y有可能为n。 对于70%的数据:不存在语法错误,L<=100。 对于100%的数据:L<=100。