手机扫描二维码答题
00:00:00
CSP-S 提高级 C++ 模拟测(五)[1021]
录音中...
*
您的姓名:
一、单选题
*
在 Linux 系统终端中,用于列出当前目录下所含的文件和子目录的命令为( )。
A. ls
B. cd
C. cp
D. all
*
2.(2017)₈ +(1234)₁₀的结果是( )。
A. (8E2)₁₆
B. (100011100001)₂
C. (8E0)₁₆
D. (100011100011)₂
*
3. 设S=“abbcce”,不同的非空子串个数有( )个。
A. 19
B. 17
C. 16
D. 18
*
4. 表达式 a*(b+C)-d/f 转后缀表达式的结果()
A. abc*+df-/
B. abc+*df/-
C. bc+a*df/-
D. abc+*-df/
*
5. 在C++中,表达式('O' - 'I') ^ 13 % 9 + 5的值是( )。
A. 7
B. 8
C. 14
D. 15
*
6. 现有一个地址区间为0~10的哈希表,线性探测(冲突后向后找空位,到10后绕回0)依次存储{0,1,2,3,4,5,6,7},哈希函数为h(x)=x² mod 11。请问7存储在哈希表哪个地址中( )。
A.5
B.6
C.7
D.8
*
7. 若定义:
则表达: x + a % 3 * (int)(x+y) % 2 的值是:()
A. 0.000000
B. 2.750000
C. 2.500000
D. 3.500000
*
8. G是一个非连通简单无向图(没有自环和重边),共有36条边,则该图至少有( )个点。
A. 8
B. 9
C. 10
D. 11
*
9. 令根结点的高度为 1,则一棵含有 2023 个结点的二叉树的高度至少为()
A. 10
B. 11
C. 12
D. 2021
*
10. 有8个苹果从左到右排成一排,你要从中挑选至少一个苹果,并且不能同时挑选相邻的两个苹果,一共有( )种方案。
A. 36
B. 48
C. 54
D. 64
*
11. 设一个三位数 n = abc的平均数
,a, b, c 均为 1~9 之间的整数,若以 a、b、c 作为三角形的三条边可以构成等腰三角形(包括等边),则这样的 n 有( )个。
A. 81
B. 120
C. 165
D. 216
*
12. 现有一段 8 分钟的视频文件,它的播放速度是每秒 24 帧图像,每帧图像是一幅分辨率为 2048×1024 像素的 32 位真彩色图像。请问要存储这段原始无压缩视频,需要多大的存储空间?( )。
A. 30G
B. 90G
C. 150G
D. 450G
*
13. 学号为1到30的小朋友顺时针排成一圈,从1号小朋友开始顺时针报数,从数字1开始数下去:1,2,3,...28,29,30,31,32...一圈又一圈,当数到数字n时,所在的小朋友的学号是( )。
A. (n-1)%30
B. 1+(n-1)%30
C. (n+1)%30-1
D. (n+1)%30
*
14. 设 A 和 B 是两个长为 n 的有序数组,现在需要将 A 和 B 合并成一个排好序的数组,请问任何以元素比较作为基本运算的归并算法,在最坏情况下至少要做多少次比较?( )。
A. n^2
B. n \log n
C. 2n
D. 2n - 1
*
15. 6个人分乘两辆不同的汽车,每辆车最多坐4人,则不同的乘车方法数为( )。
A. 40
B. 50
C. 60
D. 70
二、阅读程序
1)
假设输入的n是不超过100000的正整数,nums[i] 是[1.n]范围内正整数,
且nums[i] 互不相同
,完成下面的判断和单选题。
*
1.1 输出一定大于0
对
错
*
1.2 如果将第7行的vector<int>&nums,修改为vector<int>nums,程序的输出一定不变。
对
错
*
1.3 如果输入的n为1,会导致程序运行出错,无法正常输出结果。
对
错
*
1.4 将第13行的 auto 换成 int,程序的输出一定不变。
对
错
*
1.5 当程序的输入为 4 1 4 3,程序的输出为()
A. 1
B. 2
C. 3
D. 4
*
1.6 当程序输入的n为100时,程序的输出一定不可能是( )
A. 1
B. 100
C. 50
D. 110
(2)
假设输入的 x1, y1 满足 4≤ x1 ≤ 7,0 ≤ y1 ≤ 6,x2, y2 满足0≤ x2 ≤3,0 ≤ y2 ≤ 6,完成下面的判断和单选题。
*
2.1 第 26 行的while循环,执行次数一定大于1次。
对
错
*
2.2 第 32~38 行在下半个矩阵中找寻一个点,使得它与点 (x2,y2) 距离尽可能大且该点没有被访问过。
对
错
*
2.3 x1,y1和x2,y2两点可能会在同一个点的位置相遇。
对
错
*
2.4 x1,y1和x2,y2一定会将自己所在范围内的每个点都访问到。
对
错
*
2.5 当输入7 6 0 0,输出的结果是()。
A. 4 3 0 2
B. 4 0 0 6
C. 4 1 1 4
D. 4 4 0 2
*
2.6 算法时间复杂度为()。
A. O(m)
B. O(n*m)
C. O(n)
D. O(n^2)
(3)
设输入的s是长度不超过 10000,仅由 L,R 构成的字符串,完成下面的判断题和单选题:
*
3.1 最终的答案一定严格小于 (|s|+1)^2。
对
错
*
3.2 运行到第 50 行时,一定满足 T=n。
对
错
*
3.3 若第 31 行不判断“k>1”,程序的输出可能改变。
对
错
*
3.4 使用 vis 数组记录每个位置是否访问过(即每个元素可以进队多次),假设数组不会越界,忽略常数问题,一定不会影响程序的时间复杂度。()
对
错
*
3.5 如果 s="RLRRRLLRRLLR",则输出结果为()。
A. 8
B. 10
C. 12
D. 14
*
3.6 如果 s=" LLRLLLRLLLRLLLRLLLRLLLRLLLRLLLRLLLRLLLRL"(由 10个“LLRL"拼接而成),则输出结果为()。
A. 40
B. 43
C. 58
D. 60
三、完善程序
1)有一个 n*n (1 ≤ n ≤5000) 的矩阵 a,对于1 ≤ i < n,1 ≤ j < n,满足a[i][j] < a[i+1][j] ,a[i][j] < a[i][j+1]。即矩阵中左右相邻的两个元素,右边的元素一定比左边的大。上下相邻的两个元素,下面的元素一定比上面的大。给定矩阵 a 中的一个数字 k,找出 k 所在的行列(注意:输入数据保证矩阵中的数各不相同。
*
1.1 ①处应填( )。
A. j--
B. j++
C. i++
D. i--
*
1.2 ②处应填( )。
A. a[i][j]>k
B. a[i][j]<k
C. a[i][j]<=k
D. a[i][j]!=k
*
1.3 ③处应填( )。
A. a[i][j]>k
B. a[i][j]<k
C. a[i][j]>=k
D. a[i][j]!=k
*
1.4 ④处应填( )。
A. answerx=i+1
B. answerx=i-1
C. answerx=j
D. answerx=i
*
1.5 ⑤处应填( )。
A. answery=j+1
B. answery=j-1
C. answery=i
D. answery=j
(2)
给定n个区间[l1,r1].[l2,r2].....[In,rn]。你需要求出有多少种不同的方案,给每个区间涂上
黑白两种颜色之一,使得任意同色区间两两交集为空集。
答案可能很大,因此要对998,244,353取模。
输入格式:输入的第一行包含一个整数n。接下来n行,每行两个整数Ii,ri。
输出格式:输出一行一个整数,表示答案。
数据范围:1≤n≤10^6,1≤l1≤r1≤10^9
*
2.1 ①处应填( )。
A. u.l<v.l
B. u.l>v.l
C. u.r<v.r
D. u.r>v.r
*
2.2 ②处应填( )。
A. stk[top].first < p[i].l
B. stk[top].first > p[i].l
C. stk[top].first < p[i].r
D. stk[top].first > p[i].r
*
2.3 ③处应填( )。
A. col[x] & 1
B. col[x] | 1
C. !col[x]
D. ~col[x]
*
2.4 ④处应填( )。
A. ans + 1
B. ans * ans
C. ans / 2
D. ans * 2
*
2.5 ⑤处应填( )。
A. mx[col[i]] > p[i].l
B. mx[col[i]] > p[i].r
C. col[i] > p[i].l
D. col[i] > p[i].r
字体大小
CSP-S 提高级 C++ 模拟测(五)[1021]
复制