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提高组预赛详解的更多相关文章

  1. noip2010初赛提高组 试题详解

    转载自:https://blog.csdn.net/eirlys_north/article/details/52889970 一.单项选择题 1.与16进制数 A1.2等值的10进制数是 ( ) A ...

  2. noip2011初赛提高组 试题详解

    转载自:https://blog.csdn.net/Eirlys_North/article/details/52889993 一.单项选择题(共20题,每题1.5分,共计30分,每题有且仅有一个正确 ...

  3. Netsuite Formula > Oracle函数列表速查(PL/SQL单行函数和组函数详解).txt

    PL/SQL单行函数和组函数详解 函数是一种有零个或多个参数并且有一个返回值的程序.在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类: 单行函数 ...

  4. “全栈2019”Java多线程第十三章:线程组ThreadGroup详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  5. [NOIp2017提高组]列队

    [NOIp2017提高组]列队 题目大意 一个\(n\times m(n,m\le3\times10^5)\)的方阵,每个格子里的人都有一个编号.初始时第\(i\)行第\(j\)列的编号为\((i-1 ...

  6. JZOJ 5196. 【NOIP2017提高组模拟7.3】B

    5196. [NOIP2017提高组模拟7.3]B Time Limits: 1000 ms  Memory Limits: 262144 KB  Detailed Limits   Goto Pro ...

  7. JZOJ 5197. 【NOIP2017提高组模拟7.3】C

    5197. [NOIP2017提高组模拟7.3]C Time Limits: 1000 ms  Memory Limits: 262144 KB  Detailed Limits   Goto Pro ...

  8. JZOJ 5195. 【NOIP2017提高组模拟7.3】A

    5195. [NOIP2017提高组模拟7.3]A Time Limits: 1000 ms  Memory Limits: 262144 KB  Detailed Limits   Goto Pro ...

  9. JZOJ 5184. 【NOIP2017提高组模拟6.29】Gift

    5184. [NOIP2017提高组模拟6.29]Gift (Standard IO) Time Limits: 1000 ms  Memory Limits: 262144 KB  Detailed ...

随机推荐

  1. 可上下拖动且有浮沉动画的View

    package com.ifenglian.superapp1; import android.animation.Animator;import android.animation.Animator ...

  2. 九 configparser模块

    配置文件如下: # 注释1 ; 注释2 [section1] k1 = v1 k2:v2 user=egon age=18 is_admin=true salary=31 [section2] k1 ...

  3. codis

    总体架构 192.168.199.223(zookeeper.codis-proxy.codis-dashborad:18080.codis-fe:18090.codis-server) 192.16 ...

  4. 关于CDh5.13.1 HDFS启用HA(High Availability)注意事情--(JournalNode 只有一个编辑路径)

    原因为:主机名不能为域名.更换成hadoop64 这种解决.

  5. 第三章 列表(b)无序列表

  6. python if __name__ == 'main' 的作用和原理()

    相信初学者在学习Python的过程中,不可避免的总会遇到 if __name__ == 'main'语句,虽然一直知道它的作用,但是可能一直比较模糊,今天菜鸟分析就与大家一起举例说说我的理解. 举个例 ...

  7. nodejs中.npmrc文件的内容

    . nodejs安装后,使用npm安装模块的时候我出现了一个错误. getaddrinfo ENOTFOUND xxx 主要是这个配置文件的问题.搞不清楚.直接打开把文件内容删除变成 npmrc文件内 ...

  8. Linux初级入门(一)

    Linux是一种开源电脑操作系统内核,它是一个用C语言写成,符合POSIX标准的类Unix操作系统.Linux最早是由芬兰黑客 Linus Torvalds为尝试在英特尔x86架构上提供自由免费的类U ...

  9. P3375 【模板】KMP字符串匹配

    P3375 [模板]KMP字符串匹配 https://www.luogu.org/problemnew/show/P3375 题目描述 如题,给出两个字符串s1和s2,其中s2为s1的子串,求出s2在 ...

  10. [leetcode]252. Meeting Rooms会议室有冲突吗

    Given an array of meeting time intervals consisting of start and end times [[s1,e1],[s2,e2],...] (si ...