NOIP2017提高组预赛详解
NOIP2017预赛终于结束了。
普遍反映今年的卷子难度较大,但事实上是这样吗?马上我将为您详细地分析这张试卷,这样你就能知道到底难不难。
对了答案,鄙人考得还是太差了,只有91分。
那么下面我们就一起来看看这张试卷,共同反思,共同学习。
一、单项选择
1、从( )年开始,NOIP竞赛将不再支持Pascal语言。
A、2020
B、2021
C、2022
D、2023
答案:B
解析:官方公告
看了你就明白了,要注意2020年NOIP还是支持的。
2、在8位二进制补码中,10101011表示的数是十进制下的( )
A、43
B、-85
C、-43
D、-84
答案:B
解析:补码是什么?就是一个二进制码对每位取反,再加一,表示原数字的负数。所以我们倒退回去,先减一,得到10101010,再取反得01010101,转换为十进制为85,所以就是-85.
3、分辨率为1600*900、16位色得位图,存储图像信息所需的空间为( )
A、2812.5KB
B、4218.75KB
C、4320KB
D、2880KB
答案:A
解析:本来我可能不会做这一题,但由于大概两个礼拜前,学校的微机课正好上到了这个,所以就得分了。
先解释几个名词。
分辨率,表示长宽分别为多少像素,所以相乘的结果是像素点的个数。
16位色,表示每个像素点用16位的数据去表示颜色,也就是2B(字节,不是2逼)。
所以大小就是1600*900*2/1024KB=2812.5KB
4、2017年10月1日是星期日,1949年10月1日是( )
A、星期三
B、星期日
C、星期六
D、星期二
答案:C
解析:如果你的历史很好,就偷着乐吧!毕竟再怎么出题,也不能篡改历史。
但如果历史不好呢?不好算吗?也是很好算的。
首先两者相差68年,然后,我们还要考虑闰年,闰年的个数应该是2017/4-1949/4=17(注意取整了),但是我们还要考虑整百年是不是400的倍数,很明显2000是,所以是17个闰年,所以总的天数就是68*365+17,再对7取模就行。
5、设G是有n个节点、m条边(n<=m)的连通图,必须删去G的( )条边,才能是G变成一棵树。
A、m-n+1
B、m-n
C、m+n+1
D、n-m+1
答案:A
解析:一棵树一定只有n-1条边,所以是m-(n-1)
6、若算法的计算时间表示为递推关系式:
T(N)=2T(N/2)+NlogN
T(1)=1
则该算法的时间复杂度为( )
A、O(N)
B、O(NlogN)
C、O(Nlog^2N)
D、O(N^2)
答案:C
解析:最早,我也是不知道这类问题怎么做,一直很懵逼,即使问老师,依然不知道什么意思,但后来我自己琢磨出了这类题的做法。
具体做法是,递推,得到通项,然后找到时间复杂度最大的一项,哪个就是答案。
本题递推完后,你就会发现,有C选项中的那个式子,所以就是C
7、表达式a*(b+c)*d的后缀表达式是( )
A、abcd*+*
B、abc+*d*
C、a*bc+*d
D、b+c*a*d
答案:B
解析:自己百度一下后缀表达式吧
8、由四个不同的点构成的简单无向连通图的个数为( )
A、32
B、35
C、38
D、41
答案:C
解析:这道题是一道简单的计数题
试想一下,构成一个四个节点的无向连通图至少需要几条边?很明显是3条,也就是说是一棵树,所以4,5,6条边也可以,所以答案应该是C(3,6)+C(4,6)+C(5,6)+C(6,6)-4,表示有3,4,5,6条边的种数之和,但为什么要减4呢?因为三条边的情况下有四种情形不行,即连成了一个三个节点的环,所以排除这种情况就好了。
9、将7个名额分给4个不同的班级,允许有的班级没有名额,有( )种不同的分配方案。
A、60
B、84
C、96
D、120
答案:D
解析:因为名额相同,班级不同,所以采用“插板法”。七个名额,一共有8个空可以插。先考虑中间两个班不为空的情况,是C(3,8),再考虑中间两个班级有一个为空的情况,那么就是C(2,8)*2,因为有两个板重合,所以可视为一个板,有因为有可能中间靠左的班级为空,也可能是中间靠右边的班级为空,所以要乘2。最后是中间两个班都为空,那么此时只有一个板,所以是C(1,8),把三个数加起来即可。
这道题的解析是基于大家对插板法有了解的前提,如果大家不了解,自行百度。
10、若f[0]=0,f[1]=1,f[n+1]=(f[n]+f[n-1])/2,则随着i的增大,f[i]将接近于( )。
A、1/2
B、2/3
C、(√5-1)/2
D、1
答案:B
解析:首先,给像我一样的蒟蒻的建议:考试时间也不多,一到选择题分值又很少,所以,你不妨试着写该数列的前几项,然后就能看出答案了。这样的话省时又能得分,对于像我一样的蒟蒻来说再好也不过了。
那么,对于大神,你可以求一下通项,再求一下极值,就能得出答案,如果你足够熟练,也不是很慢,在这里就不演示了,毕竟打数学符号也很麻烦。
试题链接
答案链接
这里把试题和答案都给大家了,下面的试题将不会给题目,自己看一下,毕竟博主还要准备复赛。
感谢各位的理解。
11、答案:D
解析:这道题还是很简单的,既然两个序列都有序,那么我们只需要从两个序列的小端比较,依次把小的数放入新序列即可,基本上是比较一次放一个数,那么比较次数的差异出现在哪呢?就在于两个序列当中有一个为空时,剩下的一个序列剩余元素的个数,因为这些数字是不需要比较的,可以直接放入新序列,因为他本身就是有序的。所以剩的数字越少,则通过比较放入的数字越多,比较次数越多,所以剩下数字最少为一个,所以比较次数最多为2n-1
12、答案:D
解析:我们先看第一个空,是在if中的,而if的条件是,X和Y的质量不相等,那么假币肯定在X和Y中,所以我们只要把搜索范围锁定在X和Y的并集就行,所以我们选择a这个语句,其实这里答案已经出来了,但我还是要继续讲完(良心博主)
第二个空前面是个else,那就相当于取if中相反的条件,也就是X和Y质量相等,那么很明显假币在Z中,所以我们就将搜索范围锁定在Z,所以是语句b
第三个空,很显然就是求一下搜索范围的元素个数,便于判断搜索是否完成,或是继续下面的分组。
这样,这道题就讲完了。
13、答案:A
解析:这道题就是动态规划的经典问题,数字三角形,如果你了解过动态规划,相信你能很轻易的做出这道题,这里没法拓展讲动态规划,所以就不做解释了。
14、答案:D
解析:俗话说:“正难则反”(真的是俗话?),所以我们来求旅行失败的情况,然后用1减去即得结果。
失败的情况就两种,1晚点(概率:0.1*0.8*1=0.08),2晚点(概率:1*0.2*0.9=0.18),所以总共是0.26,所以成功概率就是0.74.
15、答案:C
解析:如果不知道什么是数学期望,那么自己百度一下,提高姿势水平。
我们没必要算三分钟的数学期望,我们只需算出一秒内的数学期望,再乘上180即可。那么一秒内,一共就三种情况:没得到球(概率A:19*19/20*20)、得到一个球(概率B:2*1*19/20*20)、得到两个球(概率C:1*1/20*20),所以数学期望是:0*A+1*B+2*C=0.1,所以再乘上180,就得到18.
单选题总结:今年单选题很多数学计算,所以耗时可能会比较长,但如果数学功底比较好,就会比较熟练,当然也并不是非常难。
二、多项选择题
1、答案:CD
解析:
这里的表格列得已经非常详细了,补充一下,归并排序最差时间复杂度也为O(nlogn)
2、答案:C
解析:这道题目就非常简单了,简单模拟一下即可。
3、答案:D
解析:见上面表格。
4、答案:BD
解析:Frotran
自己看看这个,我相信除了这一个,其他三个大家应该都是很熟悉的。
5、答案:BD
解析:图灵奖,不解释,大家应该都知道,不知道自行百度。
王选奖,本来我是不知道这个奖的,但是在考试当天上午,我看信息学历史时,看到了王选的介绍,所以,我才知道这个奖项。
多选题总结:基本靠背……
三、问题求解
1、答案:3
解析:按如下顺序操作:
这种题,自己试几下就行了,基本上不会太难。
2、答案:4 9
解析:这题网络流…………,能说超纲了吗?
反正就算对网络流一窍不通,你也差不多能写出4,至于9,如果没学过网络流,就基本上靠天收,博主也没打算看网络流,如果各位想知道正解是什么的话,就另请高明吧!(或者等我在复赛拿到安徽省前30名)
问题求解总结:超纲超纲超纲……
四、阅读程序写结果
1、答案:15
解析:就是一个简单的递推题,大家只要自己认真的推算一遍即可,一定要找一张干净的草稿纸,然后有条理的写,这样就能很容易的算出来了。博主第一遍就因为很随便,算出的答案是14,后来写完后面的题,回头找老师又要了几张草稿纸,重算一遍,才算正确。
2、答案:17 24 1 8 15
解析:就是一个幻方。
一眼看透本质后就很简单了,只要自己把幻方填上就行。
这里说一下幻方的定义,就是将1到n*n这些整数填入n*n的方格表,使得每一行、每一列、对角线上的数之和为同一值。
填的方法也很简单,我在小学时就和我的(女)同学探讨过奇数规模的幻方的填写方法(嗯?奇怪的强调……),具体方法如下:
- 首先将1写在第一行的中间。
- 之后,按如下方式从小到大依次填写每个数K(K=2,3,…,N*N):
- 1.若(K−1)在第一行但不在最后一列,则将K填在最后一行,(K−1)所在列的右一列;
- 2.若(K−1)在最后一列但不在第一行,则将K填在第一列,(K−1)所在行的上一行;
- 3.若(K−1)在第一行最后一列,则将K填在(K−1)的正下方;
- 4.若(K−1)既不在第一行,也不在最后一列,如果(K−1)的右上方还未填数,则将K填在(K−1)的右上方,否则将K填在(K−1)的正下方。
这样就能写出一个幻方了,然后输出第一行即可。
还有注意,输入虽然是3,但求的是5*5的幻方。
3、答案:8
解析:一眼看透本质:求逆序对。
然后就很容易的数出来了。
但是是怎么看出来本质的呢?
本题和上一题这样一眼看透本质,有两种方法:1、看算法,是自己熟悉的某个算法,那么恭喜你,你看透了本质。
2、自己先模拟几下,发现规律,得出本质。
这样的话解题就非常简单了。
4、答案:1 3
2017 1
1 321
解析:很明显第一个空是给我们模拟找规律的,其实模拟一下就能发现规律了,规律就是:
- 求出输入的两个数的最小公倍数
- 然后用最小公倍数分别除以两个输入的数
- 如果结果是单数,则输出的是输入的这个数本身
- 如果结果是偶数,则输出的是1
- 注意输出顺序
这样就能顺利地写出结果。
阅读程序写结果总结:拿到题,不要慌,浏览程序最重要;先模拟,找规律,轻轻松松拿满分。
五、完善程序
1、答案就不写了,自己看一下。
解析:其实就是我们列竖式做除法的思路,取前几位除以这个数,得到余数保留,输出结果,然后再往后读取。
其实并不是很难。
2、答案略。
解析:没啥难的,注意上下对称结构的提示,几乎送分。
完善程序总结:理清代码思路,注意上下对称的结构
结束语
总的来说还可以,卷子难度不是非常大。
考91,不算很好,但也没什么遗憾了。
这里祝愿各位NOIP复赛考生(包括我)能在复赛中取得令自己满意的成绩!!
【鼓掌】【鼓掌】【鼓掌】【鼓掌】
NOIP2017提高组预赛详解的更多相关文章
- noip2010初赛提高组 试题详解
转载自:https://blog.csdn.net/eirlys_north/article/details/52889970 一.单项选择题 1.与16进制数 A1.2等值的10进制数是 ( ) A ...
- noip2011初赛提高组 试题详解
转载自:https://blog.csdn.net/Eirlys_North/article/details/52889993 一.单项选择题(共20题,每题1.5分,共计30分,每题有且仅有一个正确 ...
- Netsuite Formula > Oracle函数列表速查(PL/SQL单行函数和组函数详解).txt
PL/SQL单行函数和组函数详解 函数是一种有零个或多个参数并且有一个返回值的程序.在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类: 单行函数 ...
- “全栈2019”Java多线程第十三章:线程组ThreadGroup详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
- [NOIp2017提高组]列队
[NOIp2017提高组]列队 题目大意 一个\(n\times m(n,m\le3\times10^5)\)的方阵,每个格子里的人都有一个编号.初始时第\(i\)行第\(j\)列的编号为\((i-1 ...
- JZOJ 5196. 【NOIP2017提高组模拟7.3】B
5196. [NOIP2017提高组模拟7.3]B Time Limits: 1000 ms Memory Limits: 262144 KB Detailed Limits Goto Pro ...
- JZOJ 5197. 【NOIP2017提高组模拟7.3】C
5197. [NOIP2017提高组模拟7.3]C Time Limits: 1000 ms Memory Limits: 262144 KB Detailed Limits Goto Pro ...
- JZOJ 5195. 【NOIP2017提高组模拟7.3】A
5195. [NOIP2017提高组模拟7.3]A Time Limits: 1000 ms Memory Limits: 262144 KB Detailed Limits Goto Pro ...
- JZOJ 5184. 【NOIP2017提高组模拟6.29】Gift
5184. [NOIP2017提高组模拟6.29]Gift (Standard IO) Time Limits: 1000 ms Memory Limits: 262144 KB Detailed ...
随机推荐
- LeetCode解题思路
刷完题后,看一下其他人的solution,受益匪浅. 可以按不同的topic刷题,比如数组.字符串.集合.链表等等.先做十道数组的题,接着再做十道链表的题. 刷题,最主要的是,学习思路. 多刷几遍.挑 ...
- js实现右击
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <tit ...
- Bar-Code-Recognition-System Private
本设计研究EAN13条形码识别的译码技术,在基于机器视觉技术上,构建了一套条形码在线检测识别系统,系统将由以下几个部分构成:条形码图像定位与采集.计算机图像预处理.条形码图像中值滤波去噪.条码解析与识 ...
- 【模型】Toon Dragon
下载地址:点击下载
- 100-days:nine
Title: Boeing(波音飞机) crash isolates FAA as(伴随,随着) China leads push against Max(出事机型,即737 Max) crash n ...
- Win10 安装 Anaconda3 用 Anaconda3 安装TensorFlow 1.2 (只支持python3.5)
Win10 安装 Anaconda3 1.安装Anaconda3 选择相应的Anaconda进行安装,下载地址点击这里,下载对应系统版本的Anaconda,官网现在的版本是Anaconda 4.3.1 ...
- vue 使用scss
使用vue-cli模板创建的项目中,使用scss步骤 1. cmd命令: cnpm install sass-loader --save-dev cnpm install node-sass --s ...
- redis-storage介绍[转]
背景: 当时我们正在做一个游戏项目,游戏项目相比于web项目,更追求的是单机的性能,而我们对单个请求的处理时间有着bt级的需求(一个完整的api请求控制在10ms以内).当时我们的数据层用的是ttse ...
- 39-java中Arrays.sort 和 collections.sort()总结
总结一下java 中的两种排序工具: Arrays.sort() : 主要针对 数组类型排序,如果数组里面的元素是对象,要按对象属性排序的话,需要重写 Comparator() 函数,重写里面的 i ...
- ADT和DS
Abstract Data Type vs. Data Structrue 抽象数据类型=数据模型+定义在该模型上的一组操作. interface 数据结构=基于某种特定语言,实现ADT的一整套算法 ...