通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"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); } } }
③处应填( )。
left1 == right1
left1 < right1
left1 > right1
left1 != right1
所属试卷:CSP-S1提高级初赛试卷[2022]
在进行任何C++流的操作后,都可以用C++流的有关成员
在类声明中,紧跟在“public:”后声明的成员的访问
下列程序的运行结果是( )。
使用 time 库的相关函数获取 3 天前的时间。参考
以下赋值语句中合法的是( )。
两个或两个以上的模块之间关联的紧密程度称为( )。
在深度为7的满二叉树中,度为2的结点个数为( )。
在C语言程序中,下列说法正确的是( )。
有以下程序:程序的运行结果是( )。
以下不能输出小写字母a的选项是。
按下列要求编程,实现类的定义,并在主函数中测试这个类。
元组的访问速度比列表要快一些,如果定义了一系列常量值,
已知列表对象x=['11','2','3'],则表达式
表达式':'.join('1,2,3,4,5'.spl
C语言源程序中整型常量可以用八进制数表示,此时必须以_
若有定义int b=7;float a=2.5;c=4
以下程序的功能是:借助指针变量找出数组元素中最大值所在
若甲向乙发起一个TCP连接,最大段长MSS=1KB,R
以下哪个命令可以终止一个用户的所有进程( )
设有一组记录的关键字为{19,14,23,1,68,2
为了实现图的广度优先搜索,除了一个标志数组标志已访问的
软件测试的方法有 和 (即黑盒法)。
执行语句char str[81]="abcdef";后
下面程序段的输出结果为A。
预处理命令行都必须以_____号开始。
给定程序中,函数fun的功能是根据形参i的值返回某个函
(交通中断)有一个小国家,国家内有 n座城市和 m条双
输入:30输出:____
输入: 5 4 -6 -11 6 -59 22 -6
( 取石子游戏 ) 现有 5 堆石子,石子数依次为 3
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2