2026年6月电子学会青少年软件编程(C/C++五级)等级考试试卷
剩余时间 --:--:--
单选题 共 10 题
1.

以下哪个问题不适合用双指针算法求解?( )

2.

已知数组`arr[6] = {2,4,6,8,10,12}`,前缀和数组`preSum[0]=0`,`preSum[i] = arr[0]+arr[1]+…+arr[i-1]`,则区间[2,4](下标从0开始)的元素和为?( )

3.

STL中,用于在容器中查找指定元素的函数是?( )

4.

以下关于贪心算法的说法,正确的是?( )

5.

在长度为n的有序数组中,二分查找的最坏时间复杂度是?( )

6.

对原数组的区间[l, r]全部加上val,对差分数组的操作是?( )

7.

计算整数a的b次方,若使用快速幂算法,时间复杂度为?( )

8.

以下哪个STL容器是基于红黑树实现的,元素自动有序且不重复?( )

9.

有递推公式`f(n) = 2*f(n-1) + 1`,`f(1)=1`,则`f(4)`的值是?( )

10.

以下关于`vector`容器的说法,错误的是?( )

判断题 共 10 题
1.

`queue` 先进先出,队头插入元素,队尾删除元素。( )

2.

递推算法分为顺推和逆推两种,斐波那契数列是顺推的典型应用。( )

3.

二维前缀和可以快速求出二维数组中任意子矩阵的元素和。( )

4.

快速幂的核心是将指数分解为二进制,减少乘法运算的次数。( )

5.

二分查找只能用于查找元素。( )

6.

哈夫曼编码的构建过程中,每次选择权值最小的两个节点合并,使用了贪心思想。( )

7.

差分算法不能处理多次区间修改、单点查询类问题。( )

8.

快慢指针可以用于查找链表的中间节点。( )

9.

`string`类的`c_str()`函数可以将string对象转换为C风格的const char*字符串。( )

10.

map 容器存储键值对,键唯一不可重复。( )

编程题 共 2 题
1.

能量节点

题目描述

数轴上分布着 n 个能量节点,第 i 个节点的坐标为 xi 。

当两个节点的距离小于等于 d 时,会产生能量共鸣。

求一共有多少组节点会发生能量共鸣。

输入格式

第一行,两个整数表示 n 与 d。

第二行,n 个整数,表示 x1,x2,…,xn 。

输出格式

单个整数:表示有多少对点可以会产生能量共鸣。

输入样例

4 25
30 40 10 20

输出样例

5

说明提示

1≤n≤100,000,

1≤d≤1,000,000,000,

1≤xi≤1,000,000,000。

限制

时间限制:1000ms

内存限制:256MiB

2.

刷任务

题目描述

一共有 n 个小任务,第 i 个任务会消耗 ai 点体力、bi 点心神。

你可以自由安排任务的完成顺序,逐个依次做完任务。

当累计消耗的体力总和超过 xx,或是 累计消耗的心神总和超过 y 时,会立刻停下无法继续做事。

求:在运气最差、顺序最不利的情况下,你最少会完成多少个任务就被迫停止。

输入格式

第一行,三个整数表示 n, x, y

第二行,n 个整数表示 a1,a2,…,an

第三行,n 个整数表示 b1,b2,…,bn

输出格式

输出一个整数,表示最少完成的任务数量。

输入样例#1

4 7 18
2 3 5 1
8 8 1 4

输出样例#1

2

输入样例#2

8 30 30
1 2 3 4 5 6 7 8
8 7 6 5 4 3 2 1

输出样例#2

6

说明提示

1≤n≤2×105

1≤x,y≤2×1014

1≤ai,bi≤109

限制

时间限制:1000ms

内存限制:256MiB

C++ 编辑器
输入
输出