通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"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]
下列关于运算符重载的叙述中,正确的是
在下列关键字中,不能用来表示继承方式的是。
阅读程序,写出程序运行结果。
有以下程序:程序的运行结果是( )。
#编写程序,计算所有三位数水仙花数的和并输出求和结果。
表达式 len(‘Hello world!’.I ju
同一个列表对象中所有元素必须为相同类型。
哪个选项是以下程序的输出结果( )。
表达式eval(‘500//10’)的结果是。
编写一个程序,包含main、readin、sort、与
字符串“ab\n\\012\\\”的长度是______
若是a是int型变量,且a的初值为6,则执行表达式a+
下面程序段是找出整数的所有因子。请填空______.
在数据传输中,需要建立连接的是 ( )
以下程序运营后的输出结果是____。
有以下程序 程序执行后的输出结果是
假定主存地址为32位,按字节编址,指令Cache和数据
给定地址区间为 0~9 的哈希表,哈希函数为 h(x)
函数调用结束后,静态局部变量所占用的空间被释放。
设有以下结构类型说明和变量定义,则变量a在内存所占字节
scanf函数的一般格式为:scanf(格式控制字符串
假设输入的n 和 m都是正整数,x和 y都是在 [1,
对于一个 1到 n的排列 P(即 1到 n中每一个数在
有以下程序:程序运行后的输出结果是 ( )。
输出:( )
定义字符串的基本操作为:删除一个字符、插入一个字符和将
有 6 个城市,任何两个城市之间都有一条道路连接, 6
Pascal 语言、 C 语言和 C++ 语言都属于
关于 CPU下面哪些说法是正确的:
N 个人在操场里围成一圈,将这 N 个人按顺时针方向从
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2