2026年3月 电子学会 C++编程等级考试五级真题
剩余时间 --:--:--
单选题 共 10 题
1.

快速幂算法的核心思想?( )

2.

斐波那契数列的递推公式为f(n)=f(n-1)+f(n-2)f(1)=1f(2)=1,则f(6)的值?( )

3.

以下哪个问题最适合用贪心算法求解?( )

4.

已知数组arr[5] = {1,2,3,4,5},其前缀和数组preSum中,已知preSum[0]=0,则preSum[3]的值?( )

5.

差分算法最适合解决以下哪类问题?( )

6.

在有序数组中查找两个数的和等于目标值,最优的解法是双指针法,其时间复杂度为?( )

7.

二分查找算法的前提条件?( )

8.

以下哪个STL容器是动态数组,支持随机访问?( )

9.

STL中,用于对容器元素进行排序的函数?( )

10.

以下关于string类的说法,错误的?( )

判断题 共 10 题
1.

快速幂算法可以将求a^b的时间复杂度从θ(b) 优化到 θ(logb)。( )

2.

递推算法是从已知的初始条件出发,逐步推导出后续结果。(

3.

贪心算法的核心思想是枚举所有可能的情况。(

4.

前缀和数组可以快速求出数组中任意区间的元素和。(

5.

对差分数组求前缀和,可以得到原数组。(

6.

二分查找的最坏时间复杂度是θ(n)。( )

7.

双指针算法只能用于处理有序数组的问题,无法在无序数组或链表中使用。(

8.

vector容器的push_back()函数可以在序列头部插入元素。( )

9.

set容器中的元素是内部有序且不重复的。( )

10.

map容器存储的是键值对,键是唯一的。( )

问答题 共 2 题
1.

题目描述

现有长度为 n的数列 a、数列b 、数列 c,再给定一个长度为 q 的查询数列 x

对于每个查询 xi,请判断能否从三个数列中各选一个元素,使得三者之和恰好等于 xi

输入格式

第一行,一个整数n

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

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

第四行,nnn个整数,表示数列c1,c2,,cn

第五行,一个整数q,表示q次查询。

第六行,q个整数,表示每一次查询的整数xi

输出格式

q行,第i表示查询xi的结果。

输入样例#1

3

1 2 3

4 5 6

7 8 9

2

12 20

输出样例#1

Yes

No

输入样例#2

4

0 100 200 300

0 50 150 250

0 80 180 280

5

0 430 580 630 750

输出样例#2

Yes

Yes

Yes

Yes

No

说明提示

1n100

0ai,bi,ci108

1q2×105

0xi3×108

所有输入均为整数

2.

题目描述

你遇到了 n 只怪兽,第 i只怪兽的初始体力为 hi,当怪兽的体力降至 0 及以下时会立即消失。

你可以释放爆炸攻击怪兽,每次爆炸规则如下:选择一只存活的怪兽作为爆炸中心,中心怪兽的体力减少 a,其余所有怪兽的体力各减少 b,其中 a>b

请计算消灭所有怪兽,最少需要释放多少次爆炸。

输入格式

第一行三个整数,表示n,a,b

接下来n行,每行一个整数hi表示怪兽的体力。

输出格式

输出消灭所有怪兽所需的最小爆炸次数。

输入样例#1

4 5 3

8

7

4

2

输出样例#1

2

输入样例#2

2 10 4

20

20

输出样例#2

4

输入样例#3

5 2 1

900000000

900000000

1000000000

1000000000

1000000000

输出样例#3

800000000

说明提示

输入中的所有数均为整数。

1n105

1b<a109

1hi109

C++ 编辑器
输入
输出