旨在为小朋友们提供全面的学习材料,共同为等级考试做好准备。
添加小助手微信,回复【GESP 2026.06 C++七级】,获取本套试题答案。
1、下列 C++ 代码的输出结果是?( )
#include<iostream>#include<cmath>usingnamespacestd;intmain(){cout << (int)(sqrt(50) + log2(8));return0;}91011122、下列关于 <cmath> 或 <math.h> 中的数学库函数的说法,正确的是?( )
sqrt(49) 的返回值可以参与浮点运算。log2(32) 的返回值类型为 int。pow(2, 5) 的返回值类型一定为 int。sin(90) 的参数 90 表示 90 度。3、下列关于 C++ 函数参数传递的说法,正确的是?( )
4、有 个字符,它们出现的次数分别为 、、、、。使用哈夫曼编码时,最小的带权路径长度 WPL 为?( )
5、已知网格上每个网格点有一个数字,a[i][j] 表示第 i 行第 j 列处网格点上的数字。若 dp[i][j] 表示从网格左上角(第 0 行第 0 列)走到第 i 行第 j 列时能取得的最大数字和,且每次只能向右或向下移动。对于 i > 0 且 j > 0 的位置,正确的状态转移代码为?( )
dp[i][j] = a[i][j] + min(dp[i - 1][j], dp[i][j - 1])dp[i][j] = max(dp[i - 1][j - 1], dp[i][j])dp[i][j] = a[i][j] + max(dp[i - 1][j], dp[i][j - 1])dp[i][j] = a[i][j] + dp[i - 1][j - 1]6、已知 f[0] = 0,f[1] = 2,并且对 i >= 2 有 f[i] = max(f[i - 1], f[i - 2] + a[i])。若 a[1 .. 5] = {2, 7, 9, 3, 1},则 f[5] 的值为?( )
7、下面代码是一维数组优化 0/1 背包的核心片段,其中 w[i] 表示第 i 件物品的重量,v[i] 表示第 i 件物品的价值。横线处应填入?( )
for (int i = 1; i <= n; i++) {for (int c = W; c >= w[i]; c--) { __________; }}dp[c] = max(dp[c], dp[c + w[i]] + v[i])dp[c] = min(dp[c], dp[c - w[i]] + v[i])dp[c] = dp[c - w[i]] + v[i]dp[c] = max(dp[c], dp[c - w[i]] + v[i])8、下面程序片段主要体现的算法思想是?( )
voiddfs(int x, int y){ vis[x][y] = true;for (int k = 0; k < 4; k++) {int nx = x + dx[k], ny = y + dy[k];if (inside(nx, ny) && a[nx][ny] == 1 && !vis[nx][ny]) dfs(nx, ny); }}9、下列关于排序稳定性的说法,正确的是?( )
10、无向图的边为 (1, 2),(1, 3),(2, 4),(3, 4),(4, 5)。从顶点 1 开始进行 BFS,每轮根据出队顶点,将与其相邻顶点按编号从小到大入队,则顶点 4 第一次入队时,队列的状态为?( )
11、一个长度为 11、下标为 0 到 10 的哈希表采用线性探测法处理冲突,哈希函数为 h(x) = x % 11。依次插入 22、33、4、15、26,则 26 最终存放在下标?( )
12、关于哈希表处理冲突的方法,下列说法正确的是?( )
13、某算法需要枚举 个对象;对每个对象,还需要进行一次二分查找。若二分查找的对象规模也是 ,则该算法的时间复杂度通常为?( )
14、在升序数组中用二分查找第一个大于等于 x 的位置。若当前中点 mid 满足 a[mid] < x,下一步应?( )
mid - 1mid + 1mida[mid] 与 x15、在如下网格中,# 表示不能经过的格子,. 表示可以经过的格子。从左上角走到右下角,每次只能向右或向下移动,不同路径共有( )条。
. . . . .. # . # .. . . . .# . # . .. . . . .1、使用 cmath 或 math.h 中的三角函数时,角度参数默认采用角度制。
2、使用 cmath 或 math.h 中的 pow(2, 10) 计算 时,由于参数均为整型 int,返回值类型也为整型 int。
3、0/1 背包使用一维数组优化时,容量从小到大枚举也能保证每件物品最多被选一次。
4、哈希表采用开放定址法时,即使哈希函数设计合理,也仍然可能发生冲突。
5、同一个图从同一个起点进行深度优先搜索,访问序列一定与邻接点的枚举顺序无关。
6、泛洪算法可以用递归 DFS 实现,但地图很大时可能由于递归层数过深导致调用栈溢出等运行时错误。
7、哈夫曼树中不存在度为 的结点。
8、冒泡排序的常见实现是稳定排序,选择排序也是。
9、在无权图中从起点执行 BFS 时,某个顶点第一次被访问到的层数等于起点到该顶点经过的最少边数。
10、在二维动态规划中,状态 dp[i][j] 的计算常常依赖其他状态,这些状态的计算必须在完成 dp[i][j] 的计算前完成。
【提交】
https://www.luogu.com.cn/problem/P17014
【问题描述】
小杨同学有一张包含 个结点的无向图 , 中的结点依次以 编号。
小杨同学发现 中每个结点的度数都是 。显然 中恰好有 条边。
小杨同学想为 中的结点染色,使得任意一条边两端的结点都有不同的颜色。
小杨同学想知道最少需要多少种颜色才能在满足条件的前提下为 染色。
【输入描述】
本题包含多组数据。
第一行,一个正整数 ,表示数据组数。
对于每组数据:
第一行,一个正整数 ,表示无向图 中的结点数。
接下来 行,每行两个正整数 ,表示一条连接结点 与 的无向边,整数之间以空格分隔。
保证 中没有重边与自环。
【输出描述】
对于每组数据:输出一行,一个整数,表示在满足条件的前提下为 染色需要的最少颜色数。
【样例输入1】
461 62 13 24 35 46 561 33 55 12 44 66 231 22 33 151 42 53 14 25 3【样例输出1】
2333【数据范围】
对于 的测试点,保证 , 指每个输入中多组数据的 的总和。
对于所有测试点,保证 ,,。保证 中没有重边与自环。
【提交】
https://www.luogu.com.cn/problem/P17015
【问题描述】
给定一个由 个整数构成的数组 。每次你可以对数组 进行以下操作,直到数组 变为空:
特别地,如果相邻元素不存在则该元素的值视为 。例如,对于 可以进行以下操作:
请问你能获得的分数总和最大是多少?
【输入描述】
第一行,一个正整数 ,表示数组长度。
第二行, 个非负整数 ,表示数组 中的整数。
【输出描述】
输出一行,一个整数,表示能获得的最大分数总和。
【样例输入1】
61 6 3 2 9 1【样例输出1】
55【样例输入2】
53 1415 926 53 58【样例输出2】
5771【数据范围】
对于 的测试点,保证 ,。
对于所有测试点,保证 ,。
青少年编程竞赛交流
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),添加小助手微信,让他邀请大家进入学习群。进群之后大家可以参与定期组织的21天刷题打卡、等级考试测评、教育部白名单比赛辅导以及青少年编程组队竞赛等活动。
