通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"CSP考试" 试卷中 CSP-S1提高级初赛试卷[2022] 中有题目如下:
第1题
(归并第 k 小)已知两个长度均为 n 的有序数组 a1 和 a2(均为递增序,但不保证严格单调递增),并且给定正整数 k(1≤k≤2n),求数组 a1 和 a2 归并排序后的数组里第 k 小的数值。
#include<bits/stdc++.h> using namespace std; int solve(int *a1, int *a2, int n, int k) { int left1 = 0, right1 = n - 1; int left2 = 0, right2 = n - 1; while (left1 <= right1 && left2 <= right2) { int m1 = (left1 + right1) >> 1; int m2 = (left2 + right2) >> 1; int cnt = ①; if (②) { if (cnt < k) left1 = m1 + 1; else right2 = m2 - 1; } else { if (cnt < k) left2 = m2 + 1; else right1 = m1 - 1; } } if (③) { if (left1 == 0) { return a2[k - 1]; } else { int x = a1[left1 - 1], ④; return std::max(x, y); } } else { if (left2 == 0) { return a1[k - 1]; } else { int x = a2[left2 - 1], ⑤; return std::max(x, y); } } }
⑤处应填( )。
y = a1[k - left2 - 1]
y = a1[k - left2]
y = a2[k - left1 - 1]
y = a2[k - left1]
所属试卷:CSP-S1提高级初赛试卷[2022]
下列运算符不能重载为友元函数的是
下列情况中,不会调用拷贝构造函数的是。
下列程序输出的结果是。
下列叙述中正确的是( )。
给定程序MODI1.C中函数fun的功能是:统计sub
设变量均已正确定义,若要通guo“scanf("%d%
请在下面程序的横线处填上适当字句,以使程序完整,并使程
假设有列表a=['name','age','sex’]
Python内置函数___________用来返回数值
下面对软件测试和软件调试叙述错误的是( )。
break语句只能在循环语句中使用。( )
若有以下定义和语句,为使变量c1得到字符‘A’,变量c
已知字母A的ASCII码值为65,以下程序输出结果是_
下列合法的标识符是( )。
试述如何创建一个用户。答:可使用命令useradd创建
在RedHat中cd ~ 这个命令会把你送回到你的家目
默认情况下,超级用户和普通用户的登录提示符分别是:“_
以下哪个命令用于查看当前Linux系统的网络连接状态
在mysql命令行将连接字符集设置为utf8的命令是
设有事务T1和T2,其并发操作顺序如下图所示。该并发操
查找相同结点的效率折半查找总比顺序查找高。
在采用“取指、译码/取数、执行、访存、写回”5 段流水
软件生存周期一般可分为 、可行性研究、 、设计
功能:不用递归方式,编写函数fun,求任一整数m的n次
C语言中,数组元素的下标下限为_____。
(矩形计数)平面上有n个关键点,求有多少个四条边都和x
设表的长度为20,则在最坏情况下,冒泡排序的比较次数为
(最长路径)给定一个有向无环图,每条边长度为 1,求图
输入:7输出:____
(笛卡尔树 )对于一个给定的两两不等的正整数序列,
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2