天天快乐编程2020年OI集训队 训练8-提高组题解
一、单项选择
1. 答案:B
解析:C++是面向对象的高级语言
2. 答案:C
解析:操作系统的作用
3. 答案:B
解析:1 * 1024+1 * 512+1 * 256+1 * 128+1 * 64+32+2+1+1,末位肯定是0,仅有B符合要求
4. 答案:A
解析:手动模拟这个栈,后缀从前往后,前缀从后往前。
先栈顶到栈底依次为2 3 1 5
遇到 + ,2+3=5,栈顶到栈底依次为5 1 5
接下来4来了,栈顶到栈底依次为4 5 1 5
遇到 * ,4 * 5 = 20,栈顶到栈底依次为20 1 5
遇到 + ,20 + 1 = 21,栈顶到栈底依次为 21 5
遇到 - ,21 - 5 = 16
5. 答案:D
解析:先把a[i]置为i,然后a[i]=i就会把它的倍数除以i再乘上i-1,这不就是经典的欧拉函数。但是录题的时候\(\phi\)没了,不好意思。之后只会是素数还继续进行,合数均已被修改,也就是求与他互质的个数。
6. 答案:A
解析:计算机最早运用于数值计算,比人快。
7. 答案:D
解析:需要列出真值表进行求解
8. 答案:D
解析:总共11个不重复的字符,也就是2^12-1再减去真子集,为2046个
9. 答案:B
解析:背包是否背下用的是容量大小,然后加上价值取最大
10. 答案:D
解析:最重要的就是第一个晚了同事第二个也晚了是可以的,所以只有第一个晚了,第二个准点,第二个晚了,第三个准点是不行的,所以就是1-0.1 * 0.8-0.2 * 0.9
11. 答案:D
解析:每个数比两次,最后一个数不用比较
12. 答案:B
解析:BCD均对,广搜只会搜索全图,深搜一般也仅会对全图进行搜索。
13. 答案:A
解析:9*(9-1)/2=36>28,非联通+1为10
14. 答案:A
解析:1600 * 900 * 16 / 8 / 1024=2812.5
15. 答案:B
解析:先从10个里面选7个,选第1个有7种选法,第二个也有7种选法,第三个也有7种,之后分别是6···1种,有顺序那么选前3个的位置,总共也就是
C(10,3) * C(10,3) * 7 * 7 * 7 * 6 * 5 * 4 * 3 * 2 * 1/(10^10)=0.3556
二、阅读程序
1. 这是一道递推的题目,递推就属于动态规划,动态规划比较重要的就是状态转移,我们一般会找到他的状态转移方程
1)答案:错
解析:题目并没有用到ll
2)答案:对
解析:有递推式,n仅决定循环次数
3)答案:对
解析:为初始化
4)答案:错
解析:等于前一项+上面一项的和
5)答案:C
解析:递归要自己调用自己,本程序并没有。
6)答案:D
解析:自己通过列表法可以算出来132
2.本程序是一个模拟题,虽然冲销到达排序,但是仅用到作为下标
1)答案:错
解析:本程序没有贪心选择
2)答案:错
解析:与js无关,按照ks排序
3)答案:错
解析:需要带入程序进行计算
4)答案:错
解析:下标仍在范围内
5)答案:B
解析:重载运算符
6)答案:D
解析:第一重循环运行n次,第二重循环与sum[j]有关,sum[i]最多ks全部相等,也就是k次
3.本题属于递归类型的排序,是归并排序
1)答案:错
解析:仅对[left,right)进行排序
2)答案:错
解析:输入5 3 4 2 1 3,则无输出
3)答案:错
解析:高效nlogn且稳定
4)答案:对
解析:从0开始的不会越界
5)答案:C
解析:这就是归并排序啦啦啦啦
6)答案:B
解析:归并排序是把序列分成两半进行求解,不断的分下去。
三、完善程序
1.Dijkstra是比较重要的图论算法之一,代码也比较长,是贪心的思想,每次找到最小的层层扩展
1)答案:C
解析:自己到自己的距离为0
2)答案:A
解析:dij需要初始化为最大值
3)答案:A
解析:quanzhi(权值)是(point1 , point2)的边权
4)答案:B
解析:用dis[j]更新最短距离
5)答案:C
解析:松弛,到v的距离即到u的距离再加上u到v的距离
2.本题考察的是线段树,可以区间修改,区间查询,而且打上了lazy标记,虽然自己没有学过,但是要仔细分析。
1)答案:A
解析:线段树,每次都是孩子节点
2)答案:D
解析:判断下线段树的lazy标记有没有
3)答案:B
解析:线段树lazy标记晴空
4)答案:C
解析:一段都加上x,总共加a[nd].rgt-a[nd].lft+1
5)答案:D
解析:先判断下标,a[nd].lft<=l && r<=a[nd].rgt还是可以选出来的,返回的要结合题目
本文来自博客园,作者:暴力都不会的蒟蒻,转载请注明原文链接:https://www.cnblogs.com/BobHuang/p/13770110.html