通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"CSP考试" 试卷中 CSP-S1提高级初赛试卷[2020] 中有题目如下:
第1题
#include <iostream> #include <cstdlib> using namespace std; int n; int d[10000]; int find(int L, int R, int k) { int x = rand() % (R - L + 1) + L; swap(d[L], d[x]); int a = L + 1, b = R; while (a < b) { while (a < b && d[a] < d[L]) ++a; while (a < b && d[b] >= d[L]) --b; swap(d[a], d[b]); } if (d[a] < d[L]) ++a; if (a - L == k) return d[L]; if (a - L < k) return find(a, R, k - (a - L)); return find(L + 1, a - 1, k); } int main() { int k; cin >> n; cin >> k; for (int i = 0; i < n; ++i) cin >> d[i]; cout << find(0, n - 1, k); return 0; }
假设输入的 n,k 和 d[i] 都是不超过 10000 的正整数,且 k 不超过 n,并假设 rand() 函数产生的是均匀的随机数。
3)当输入的 d[i] 是严格单调递增序列时,第 17 行的“swap”的平均执行次数是( )
O(nlogn)
O(n)
O(log^2 n)
O(n^2)
所属试卷:CSP-S1提高级初赛试卷[2020]
下列关于this指针的叙述中,错误的是
下列关于运算符重载的叙述中,错误的是
有如下程序:运行时的输出结果是。
继承是面向对象的一个重要特性,它可以( )。
下面的 d 是一个字典,能够输出数字 2 的语句是(
编写代码,获得用户输入的一个复数,计算、输出其共轭复数
下列程序使用指针编程逆序打印输入的10个整数。请仔细阅
请编写一个函数fun其功能是:将ss所指字符串中所有下
C语言整数不包括。
Python 3.x语句for i in range
与十进制数 1770.625 对应的八进制数是____
定义一个带参得宏,用以判断整数n是否能被x整除,编写程
若有定义:int a[]={2,4,6,8,10,12
以下程序的功能是
请编写函数fun,函数的功能是:判断字符串是否为回文?
给定程序中,函数fun的功能是:将N╳N矩阵主对角线元
关闭linux系统(不重新启动)可使用-命令(
试编写一个SHELL程序,该程序能接收用户从键盘输入的
当一棵具有n个叶子结点的二叉树的WPL值为最小时,称其
“show databases like ‘stude
假设输入字符串由 ASCII 可见字符组成,当输入为“
数组的首地址一定是第一个数组元素的地址。
程序段:循环体语句执行_____次。
设(k=a=5,b=3,a*b),则k值为_____。
(Josephus问题)有n个人围城一个圈,依次标号0
某二叉树的中序序列为DCBAEFG,后序序列为DCBG
(最小区间覆盖)给出 n个区间,第 i个区间的左右端点
冒泡排序算法的伪代码如下:对 n 个数用以上冒泡排序算
(切割绳子)有 n条绳子,每条绳子的长度已知且均为正整
(格雷码, GrayCode ) 格雷码是对十进制数
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2