天天快乐编程2020年OI集训队 训练2-提高组题解

本次训练题目为NOIP2014/2015/2016提高组的选择和填空题

一、选择题

1. 答案:D

解析:Acrobat reader为Adobe公司的PDF查看器,其他均为office系列软件。

2. 答案:C

解析:CapsLock为大写锁定键,按下即大写输入。所以六个字母一循环,循环节是ASDasd,81/6=13···3,也就是第三个为字母D

3. 答案:B

解析:1和1异或为0,0和0异或0,0和1及1和0异或均为1,即相同得0,不同得1,然后得到答案为B

4. 答案:B

解析:二进制小数0.1为11/2即十进制小数0.5,八进制即1/84

5. 答案:B

解析:以第一个数为最小,然后N-1个与他比较

6. 答案:B

解析:后缀表达式即运算符写在操作数之后,我们需要一个符号栈,括号优先级最高,然后乘除,然后是加减。

7. 答案:B

解析:空指针即其左或右孩子没有,数一下即可。

8. 答案:B

解析:最多的边即两两顶点都有边,且是分两部分因为不连通,即|E|>|V|(|V|-1)/2,98/2>28,最大的为9

9. 答案:B

解析:232的地址空间,为2(32-10-10-10)=4GB

10. 答案:D

解析:第0次循环,n=0,k=4满足循环条件,执行循环体,n=1,不是3的倍数,循环结束。
第1次循环,n=1,k=4满足循环条件,执行循环体,n=2,不是3的倍数,循环结束。
第2次循环,n=2,k=4满足循环条件,执行循环体,n=3,是3的倍数,k=3循环结束。
第3次循环,n=3,k=3不满足循环条件,循环结束

11. 答案:B

解析:需要使用隔板法
1)两空盘,1种,0+0+7
2)一空盘:即从7个苹果6个空中插入一板,为3(1+6、2+5、3+4);
3)无空盘即7个苹果6个空插两板有,为4。
共8种

12. 答案:A

解析:分享图片这些人不和Jacob为好友即可,A满足。

13. 答案:C

解析:1)洗第一道菜
2)切第一道菜,并洗第二道菜
3)炒第一道菜,并切第二道菜,洗第三道菜
4)炒第二道菜,并切第三道菜
5)炒第三道菜

14. 答案:C

解析:每次都要递归计算n/4,这个会产生一个logn的复杂度,logn次递归每次都有sqrt(n)

15. 答案:A

解析:当前点比左侧和右侧都要大,当前点就是峰点,可以直接返回;如果比前一个大,比后一个小,说明峰点在右侧,否则峰点在左侧

16. 答案:A

解析:计算机使用的是2进制。

17. 答案:A

解析:存储器外含主存储器(内存)和辅助存储器(外存)。
外存主要是硬盘、移动硬盘、优盘、光盘。
内存里的数据断电会消失。
外存里的数据断电不会消失,但是外存老化、坏掉,里面的数据也会遭到破坏。 所以说“任何时候都不会丢失”,太绝对了。CD也是一样的

18. 答案:A

解析:二进制小数0.1为11/2即十进制小数0.5,十六进制即1/168

19. 答案:D

解析:1752(8)=3F2(16)=1010

20. 答案:D

解析:线性表是最基本、最简单、也是最常用的一种数据结构。线性表(linear list)是数据结构的一种,一个线性表是n个具有相同特性的数据元素的有限序列。
线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的(注意,这句话只适用大部分线性表,而不是全部。比如,循环链表逻辑层次上也是一种线性表(存储层次上属于链式存储),但是把最后一个数据元素的尾指针指向了首位结点)。
在实际应用中,线性表常以链表、栈、队列、字符串等形式使用。
数组与线性表的区别:
0)线性表相邻元素是逻辑上的连续,数组相邻元素是物理上的连续;
1)线性表的长度可以改变,但数组的长度是固定的;
2)线性表可以插入元素,数组不能插入元素;
3)线性表可以删除元素,数组无法删除元素,数组只能将指定元素赋为null,但各种元素依然存在;
4)线性表提供方法来搜索指定元素的位置,数组一般无该方法;
5)线性表提供方法来清空所有元素,但数组一般无该方法
数组的存储空间要求连续的内存;线性表不要求连续的内存,当然连续的内存也可以。选D。

21. 答案:B

解析:栈的特点是后入先出。
a进栈,b进栈,此时栈顶元素为b。
b出栈。
c进栈,d进栈。此时栈中从底部往顶部依次有a,c,d三个元素。
d出栈。此时栈中有a和c两个元素,且栈顶元素是c。

22. 答案:D

解析:前序遍历为访问根节点,先序遍历左子树,先序遍历右子树。
中序遍历为中序遍历左子树,访问根节点,中序序遍历右子树。
若无左子树,两者就完全一致了。

23. 答案:B

解析:2^6-1=63,所以完全二叉树高度为6层。

24. 答案:B

解析:连通图指的是图中的任意两个结点都可以互相到达。
既连通,又是最小生成树,则有顶点个数-1条边

25. 答案:D

解析:解析:T(n)
= T(n - 1) + n
= T(n - 2) + (n - 1) + n
= T(n - 3) + (n - 2) + (n - 1) + n
= T(1) + 2 + …… + (n - 2) + (n - 1) + n
= T(0) + 1 + 2 + …… + (n - 2) + (n - 1) + n
= 1 + n*(n + 1) / 2 = n^2/ 2 + n / 2 + 1
最高阶是n2,所以时间复杂度为n2。

26. 答案:D

解析:每个点访问一遍,每条边访问一遍。

27. 答案:A

解析:最少出现的次数让他尽量短,是贪心的思想。

28. 答案:D

解析:插入链表我们需要注意信息不能丢失。
p的前驱是q,那一定会有p的前驱的后继要从p换到q即p->llink->rlink=q;
q的后继是p,即q->rlink=p
q的前驱要指向本来p的前驱,然后再将p的前驱换为q。

29. 答案:A

解析:这样的题目可以自己动手画一下,从最小的开始尝试。

30. 答案:A

解析:鼠标属于电子设备,考试不能带。

31. 答案:B

解析:C++是面向对象的,可以new一个对象。

32. 答案:D

解析:1TB=1024GB=10241024MB=102410241024KB=1024102410241024B

33. 答案:D

解析:1+1为0,0+0为0,0+1和1+0均为1,其实就是异或(xor),相同得0,不同得1,注意进位,然后得到答案为D

34. 答案:B

解析:在数据传输的时候会选择TCP或者UDP

35. 答案:C

解析:P地址每一位都在0到255之间。

36. 答案:C

解析:一条边贡献两个度

37. 答案:B

解析:第一个需要1次,第i个需要i次,第n个需要n次。总共需要(1+n)*n/2次,再/n得到平均次数

38. 答案:B

解析:编译器就是翻译,将我们的代码翻译为计算机能懂得语言。

39. 答案:D

解析:4+2+1=7,整数部分为7
1/2+1/8=0.625,小数部分为0.625
结果是7.625

40. 答案:A

解析:
本题考察整数和浮点数的转换以及优先级问题。
1、括号永远优先级最高
2、无括号的默认优先级
* / 运算优先级最高
% 运算优先级次高
+ -运算优先级最低
所以是 2.5 + {7%[3*(x+y)]%(2/4)} ,2.5+{7%18%2/4}=2.5+(1/4)=2.5

二、填空题

1. 答案:55

解析:1、 第一个方格为黑色,bai那么第二个方格一定是白色,所du以第一种情况数就是n-2个方格的填涂方案数。
2、 第一个方格为白色,那么第二个方格不定。所以第二种情况数就是n-1个方格的填涂方案数。
其实就是求斐波那契数列的第8项。

2. 答案:1075

解析:能被4整除有503个
能被5整除有403个
能被6整除有335个
容斥一下
能同时被4和5整除有100个
能同时被4和6整除有167个
能同时被5和6整除有67个
能同时被三者整除有33个
能被4或5或6整除的个数的计算应该是503+403+335-167-67-100+33=940
则不被4,5,6任意一个数整除的数的个数个数为2015-940=1075个

3. 答案:42

解析:二叉树的按结点个数,不同形态数按照Catalan序列,其中,结点数为5的有(10)!/(5!*5!)/(5+1) = 42种

4. 答案:102

解析:1)1、1、2、4组成,有A(4,2)=4×3=12(种) ,同理有一个重复的,1、1、2、8;1、1、4、8;1、2、8、8;1、4、8、8;2、4、8、8组成, 各有12种;共有12×6=72种。
2)1、2、4、8组成,有A(4,4)=4×3×2×1=24(种)
3)1、1、8、8组成,有C(4,2)=6(种)
所以,共有72+24+6=102(种)

posted @ 2020-09-12 18:10  暴力都不会的蒟蒻  阅读(236)  评论(0编辑  收藏  举报