试卷总分:100分


选择题 10题 20分

01 02 03 04 05 06 07 08 09 10


判断题 10题 20分

11 12 13 14 15 16 17 18 19 20


编程题 2题 60分

21 22

E1146 电子学会青少年软件编程等级考试-C++ -CIE-202606-C++五级-真题-考试

选择题 共10道

01

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

2分
登录后查看选项
02

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

2分
登录后查看选项
03

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

2分
登录后查看选项
04

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

2分
登录后查看选项
05

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

2分
登录后查看选项
06

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

2分
登录后查看选项
07

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

2分
登录后查看选项
08

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

2分
登录后查看选项
09

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

2分
登录后查看选项
10

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

2分
登录后查看选项

判断题 共10道

11

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

2分
登录后查看选项
12

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

2分
登录后查看选项
13

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

2分
登录后查看选项
14

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

2分
登录后查看选项
15

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

2分
登录后查看选项
16

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

2分
登录后查看选项
17

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

2分
登录后查看选项
18

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

2分
登录后查看选项
19

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

2分
登录后查看选项
20

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

2分
登录后查看选项

编程题 共2道

21

能量节点

题目描述

数轴上分布着 n 个能量节点,第 i 个节点的坐标为 xi。当两个节点的距离小于等于 d 时,会产生能量共鸣。

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

输入

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

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

输出

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

数据范围

1≤n≤10^5,1≤d≤10^9,1≤xi≤10^9

输入样例1

4 25

30 40 10 20

输出样例1

5

30分

C0755
登录后作答
22

刷任务

题目描述

一共有 n 个小任务,第 i 个任务会消耗 ai 点体力、bi 点心神。你可以自由安排任务的完成顺序,逐个依次做完任务。当累计消耗的体力总和超过 x,或是累计消耗的心神总和超过 y 时,会立刻停下无法继续做事。

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

输入

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

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

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

输出

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

数据范围

1≤n≤2×10^5,1≤x,y≤2×10^14,1≤ai,bi≤10^9。

输入样例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

30分

C0756
登录后作答