通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"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); } } }
①处应填( )。
(m1 + m2) * 2
(m1 - 1) + (m2 - 1)
m1 + m2
(m1 + 1) + (m2 + 1)
所属试卷:CSP-S1提高级初赛试卷[2022]
有如下程序,运行时的输出结果是。
有两个关系R和T,则由关系R得到关系T的操作是关系 R
给定一个 Python 源程序文件 test.py,图
公司中有多个部门和多名职员,每个职员只能属于一个部门,
有以下程序:程序运行的结果是( )。
使用循环方法求解百钱买百鸡问题。假设公鸡5元一只,母鸡
表达式 Falset+1的值为___________。
已知列表x=[1,2],执行语句y=x后,表达式 x
下面程序的功能是将二维数组a中的每个元素向右移一列,最
以下程序的执行结果是__________。
设有如下程序:则以下叙述正确的是( )。
以下fun函数的功能是在N行M列的整形二维数组中,选出
在长度为n的线性表中,寻找最大项至少需要比较____次
给定程序中,函数fun的功能是:将N╳N矩阵主对角线元
已知一棵二叉树的树形如下图所示,其后序序列为e,a,c
在某Makefile内有以下语句:SRC = f1.c
作为一个管理员,你希望在每一个新用户的目录下放一个文件
设关系模式R(A,B,C)和S(B,D,E),R和S执
下列的SQL语句中,( )不是数据定义语句。
可行性研究主要集中在以下四个方面 、 、
如果不对静态数组赋初值,则计算机默认静态数组初始值为0
设有以下共用体类型说明和变量定义,则变量d在内存所占字
设a,b,c,t为整型变量,初值为a=3,b=4,c=
(RMQ 区间最值问题)给定序列a0,⋯,an-1,和
二进制数101.11对应的十进制数是( )。
下列关系表达式中,结果为“假”的是( )。
(郊游活动)有 n名同学参加学校组织的郊游活动,已知学
下列协议中与电子邮件无关的是( )。
设变量 x 为 float 型且已赋值,则以下语句中能
双向链表中有两个指针域 llink和 rlink,分别
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2