2026年6月青少年软件编程(C/C++)等级考试试卷(五级)

2026年10月24日

一、单选题

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

  • A、7
  • B、15
  • C、31
  • D、63

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

  • A、贪心算法总能得到全局最优解
  • B、贪心算法的核心是每一步选择当前最优的选项
  • C、01背包问题可以用贪心算法得到最优解
  • D、贪心算法的时间复杂度一定比动态规划低

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

  • A、18
  • B、24
  • C、30
  • D、36

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

  • A、diff[l] += val; diff[r] -= val;
  • B、diff[l] += val; diff[r+1] -= val;
  • C、diff[l] -= val; diff[r] += val;
  • D、diff[l] -= val; diff[r+1] += val;

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

  • A、O(1)
  • B、O(log n)
  • C、O(n)
  • D、O(n log n)

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

  • A、有序数组两数之和
  • B、链表中环的检测
  • C、反转字符串
  • D、01背包问题

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

  • A、vector
  • B、set
  • C、queue
  • D、list

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

  • A、sort()
  • B、find()
  • C、swap()
  • D、reverse()

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

  • A、vector是动态数组,支持动态扩容
  • B、可以用 push_back() 在数组尾部插入元素
  • C、可以用 pop_front() 删除数组头部的元素
  • D、支持下标随机访问

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

  • A、O(b)
  • B、O(log b)
  • C、O(a)
  • D、O(1)

二、判断题

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

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

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

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

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

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

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

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

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

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

三、编程题

21.能量节点

http://xiaopangoj.com/p/58956

22.刷任务

http://xiaopangoj.com/p/58957