- 博客(278)
- 收藏
- 关注
原创 GESP六级通关秘籍:映射map
输入两个星球名称(字符串),将每个字母转换为对应数值(A=1,B=2,…,Z=26)并求和,判断两数乘积是否为47的倍数,若是输出“GO”,否则输出“STAY”。map的核心适用场景:键值对关联(如数字/字符串→次数/数据)、动态统计频率、快速查找唯一键对应的值,核心解决“标识→数据”的映射需求;入门必刷:洛谷P1554(数字频率统计)、P1200(字符映射),掌握map的增删查改基础用法;进阶提升:洛谷P1026(字符串统计+排序)、P1003(坐标映射),理解map与vector等容器的结合使用。
2026-01-25 15:31:27
12
原创 GESP六级通关秘籍:集合set
set的核心适用场景:自动去重、O(logn)快速查找/插入/删除、动态维护有序集合,尤其适合需要“去重+有序”或“快速存在性判断”的问题。入门必刷:洛谷P1059(基础去重)、P1540(存在性判断),掌握set的核心用法;进阶提升:洛谷P1168(双set维护中位数),理解set的有序特性和灵活运用技巧。
2026-01-25 15:21:38
10
原创 GESP六级通关秘籍:树的遍历1.树的高度/深度计算
递归DFS计算深度的核心是后序遍历:先算左右子树深度,再推导当前节点深度;递归终止条件是“空节点返回0”,当前节点深度=max(左,右子树深度)+1;递归版代码简洁但有栈溢出风险,处理1e6级数据需改用迭代版(BFS/迭代DFS)。
2026-01-25 12:02:11
12
原创 GESP六级通关秘籍:树的遍历
P1120 小木棍(非树,但类似思想)或P3379 [模板]最近公共祖先(LCA)(需要子树大小)3.最近公共祖先(LCA):通过遍历(如DFS)可以预处理节点深度,进而求LCA。P1364 医院设置(求带权树的重心)或P1395 会议(树的重心)P3379 【模板】最近公共祖先(LCA)(也可以用欧拉序求LCA)2.子树大小(节点数)计算:通过遍历可以统计每个节点的子树大小。8.判断树的结构(同构等):通过遍历可以获取树的结构信息。1.树的深度/高度计算:通过遍历可以计算树的深度或高度。
2026-01-24 14:48:52
102
原创 GESP六级通关秘籍(01背包:6带有特殊约束(如互斥、依赖、数量限制、正负收益等)的 01 背包)
物品价值 / 消耗含负数、选法需满足额外逻辑(如选 A 则不能选 B)等,可通过状态调整适配 01 背包模型。例题:1.P1064 [NOIP 2006 提高组] 金明的预算方案。
2026-01-21 20:04:55
94
原创 GESP六级通关秘籍(01背包:5多维限制问题(多维 01 背包))
朴素三维DP:直观但空间开销大,保留了所有中间状态。滚动数组优化:空间效率高,但只保留最终结果。根据题目数据范围(H,T ≤ 400,n ≤ 50),朴素三维DP需要约 32 MB 内存,在大多数情况下可以接受,但不如滚动数组优化版本高效。
2026-01-15 21:16:58
28
原创 GESP六级通关秘籍(01背包:3求方案是否可行 / 能否恰好装满)
dp[i][j]表示在唱完第i首歌后,是否可以达到音量jtrue或false有n个物品(题目),每个物品有重量(时间),需要将这些物品放入两个容器(左右大脑)中,使得两个容器的总重量差最小。每个题目只能做一次,只能分配给一个大脑(左脑或右脑),所以每个题目只能使用一次,这是01背包的特性。
2026-01-15 20:04:14
23
原创 GESP七级通关秘籍(选择判断题)
图的分类:无向图(边无方向,如双向道路)、有向图(边有方向,如单向车道);节点的度:无向图中节点连接的边数,有向图中分为入度(指向节点的边数)和出度(离开节点的边数);图的存储:C++ 中常用两种方式——邻接矩阵(二维数组,适合节点少、边多的稠密图)、邻接表(vector 数组,适合节点多、边少的稀疏图);BFS(广度优先搜索):“逐层扩散”的遍历方式,像“水波涟漪”,用队列实现,适合找“最短路径”(无权重图);
2026-01-14 21:08:41
25
原创 GESP六级通关秘籍(选择判断题)
树是一种“非线性”的数据结构,长得像现实中的树(倒过来的):最顶端的节点叫“根节点”(比如树根),每个节点下面挂的子结构叫“子树”,节点之间的连接叫“边”,没有子节点的节点叫“叶子节点”(比如树叶)。比如家谱就是典型的树结构——爷爷是根,爸爸、叔叔是爷爷的子节点,你是爸爸的子节点,你没有孩子就是叶子节点。
2026-01-14 20:59:06
333
原创 GESP五级通关秘籍(选择判断题)
对数增长极慢(n=1e6时,log2(n)≈20),O(n log n)远快于O(n²)。复杂度为n的若干次幂(如O(n)、O(n²)、O(n³)),次数越高,n增大时算法越慢。用大O记号(O())衡量算法“快慢”(时间复杂度)和“占内存”(空间复杂度),仅保留主导项(忽略常数、低次项)。分治思想的算法,将解空间拆为两部分,排除不可能的部分,逐步缩小范围找答案,分为“二分查找”(找元素)和“二分答案”(找最优解)。答:29是素数(仅1和29整除),39是合数(3×13=39),1既不是素数也不是合数。
2026-01-14 20:38:41
276
原创 GESP四级通关秘籍(选择判断题)
/ 定义结构体(包含嵌套结构体)int age;// const成员:初始化后不可修改// 嵌套结构体(地址属性)} addr;// 构造函数(初始化const成员和嵌套结构体)// 结构体作为函数参数(值传递:拷贝副本)cout << "ID:" << s.id << ",姓名:" << s.name << ",年龄:" << s.age << endl;cout << "地址:" << s.addr.city << s.addr.street << endl;
2026-01-14 20:14:27
139
原创 GESP二级通关秘籍(选择判断题)
误以为“IP地址在全球唯一”:实际IP地址分“公网IP”(全球唯一)和“内网IP”(比如192.168开头,仅内网唯一),考试可能考“内网IP是否唯一”,要注意范围限定。ASCII码是给“英文字母、数字、符号”编的“数字编号”,电脑存字符时,其实存的是这个编号(比如存‘A’,实际存的是65)。“重复里套重复”,比如“打印10行,每行打印5个星号”(外层循环控制行数,内层循环控制每行的星号数)。“选了又选”的逻辑,比如“先判断是否及格,及格了再判断是良好还是优秀”,就是分支里套分支。
2026-01-14 20:08:50
29
原创 GESP三级通关秘籍(选择判断题)
计算机只认识0和1,所以整数在电脑里都是以二进制形式存储的。原码、反码、补码就是“把整数翻译成二进制”的三种规则,核心是解决“负数怎么用二进制表示”的问题(正数的三种编码完全一样)。
2026-01-14 20:00:14
39
原创 GESP一级通关秘籍(选择判断题)
语法类==和混淆、分号/括号遗漏、关键字误用、输入输出头文件缺失。逻辑类:循环边界错误、悬空else、短路逻辑忽略、浮点型精度判断错误。操作类:文件路径含中文、注释嵌套、调试时不看中间变量、输出格式不符要求。这些易错点都是新手最常踩的坑,备考时需结合实际敲代码练习,重点关注“语法细节”和“逻辑边界”,通过多测试不同用例(如0、负数、边界值)规避错误。
2026-01-14 19:38:37
31
原创 2025年GESP12月认证C++四级真题解析
摘要 本文包含11道C++编程题目,涵盖指针、数组、函数参数传递、结构体和排序算法等知识点。每题2分,总分30分,主要考察学生对C++基础语法的掌握程度。题目包括指针定义与解引用(第1-4题)、二维/三维数组遍历(第4-5题)、变量作用域(第6题)、函数传参方式(第7题)、结构体操作(第8题)、递归算法(第9题)和排序稳定性判断(第10题)。最后第11题要求补全选择排序算法代码片段。每道题均提供标准答案和详细解析,适合用于检验C++基础知识的掌握情况。
2025-12-31 16:31:57
114
原创 2025年GESP12月认证C++二级真题解析
摘要 本文包含11道C++编程与计算机基础单选题,每题2分,覆盖以下知识点: 计算机硬件组成(处理器功能) 网络类型划分(LAN/PAN/MAN/WAN) C++变量命名规则(关键字限制) 循环小数位数计算(模运算应用) 浮点数输出格式(%g的截断规则) 数字编码校验位算法(整数除法与取模) 循环与条件判断(负数的模运算结果) 嵌套循环次数计算(奇数和累加) 循环控制语句(break/continue执行逻辑) 循环结构等效性(for与while转换差异) 循环终止条件与continue的交互作用 典型题型
2025-12-31 15:57:35
90
原创 2025年GESP12月认证C++一级真题解析
摘要 本文包含13道C++编程选择题,每题2分,涉及语法、运算符、循环、条件判断等知识点。题目考察了变量命名规则、运算符优先级、赋值语句、循环控制、格式化输出等内容。部分题目解析与标答存在差异,例如第4题逗号表达式输出应为5但标答为4,第6题赋值运算结果应为4 4但标答为3 4等。这些题目适合用于检验基础编程能力,但需注意部分标答可能存在争议,建议结合具体编译环境验证。最后一题考察"漂亮数"判断,要求填写数字某位能被3整除的条件表达式。
2025-12-31 15:45:31
296
原创 CSP-J 2025 第二轮 T4 多边形 / polygon 详细解析
本文提出了一种计算能够拼成多边形的小木棍方案数的方法。题目要求从n根长度各异的小木棍中选出若干根,满足选出的木棍数量≥3且总长度大于最大长度的两倍。我们通过两种算法实现:1) DFS递归枚举所有可能的子集组合并验证条件;2) 二进制掩码法枚举所有子集,统计符合条件的方案。两种方法均能正确计算有效方案数,并对结果取模998244353。样例分析展示了具体案例的计算过程,验证了算法的正确性。该解法适用于n≤20的小规模数据,时间复杂度为O(2^n)。
2025-11-08 11:50:19
961
原创 CSP-J 2025 第二轮 T3 异或和 / xor 详细解析
题目要求找出序列中最多不相交的子区间,使得每个子区间的异或和等于给定值k。通过动态规划优化,使用前缀异或和将时间复杂度从O(n³)降至O(n)。关键思路是维护一个哈希表记录前缀异或和的出现位置,从而快速判断是否存在满足条件的子区间。初始版本仅能处理小数据,优化后适用于n≤5×10⁵的大规模输入。样例1、2、3分别演示了k=2,3,0时的最优解情况。
2025-11-07 19:56:10
998
原创 CSP-J 2025 第二轮 T2 座位 / seat 详细解析
题目要求根据考试成绩蛇形分配座位,并找出小R的座位位置。解决思路是:1)对所有成绩从高到低排序;2)按蛇形规则填充座位;3)查找小R成绩所在位置。具体实现时,奇数列从上到下填充,偶列从下到上填充,最后遍历二维数组确定座位行列。代码通过排序、蛇形填充和查找三步完成题目要求,适用于给定的数据范围。
2025-11-07 17:32:44
1023
原创 CSP-J 2025 第二轮 T1 拼数 / number 详细解析
题目要求从给定字符串中提取数字字符,并按降序排列组成最大正整数。输入字符串包含字母和数字,必须包含至少1-9的数字。解题思路分为两步:1) 遍历字符串提取所有数字字符;2) 将数字按从大到小排序组合。可以使用计数排序或字符串排序实现,时间复杂度均为O(n)。样例1输入"5"直接输出5;样例2输入"290es1q0"提取数字2,9,0,1,0后排序输出92100。两种方法都可行,计数排序更高效,字符串排序实现更简洁。
2025-11-07 16:21:15
1022
原创 2025年GESP9月认证C++六级真题解析
将长度为n的小写字母字符串划分为若干子串,要求每个子串中字母至多出现一次;每个长度为k的子串价值为a[k](a₁对应长度1,a₂对应长度2,…,aₙ对应长度n),求划分后子串价值之和的最大值。n座城市构成树(1为首都,n-1条双向道路),从首都出发遍历所有城市,求经过道路长度总和的最小值(可重复走,无需返回首都)。
2025-10-12 16:50:11
213
原创 2025年GESP9月认证C++五级真题解析
C. 在最差情况下,每轮划分操作都将长度为n的数组划分为长度为0和n-1的两个子数组,此时递归层数达到O(n),每层中的循环数为O(n),总时间为O(n²)B. 在平均情况下,划分的递归层数为O(log n),每层中的总循环数为O(n),总时间为O(n log n)表示非负整数(最高位在首位,无前置0),对其执行+1操作并返回结果数组,横线处应填写的代码是?中选取若干整数,使得任意两个不同整数均互质(最大公约数为1),最大化选取整数的数量。,找出最多能安排的不重叠电影,横线处应分别填写的代码是?
2025-10-12 15:54:32
279
原创 2025年GESP9月认证C++四级真题解析
D. 最好情况是 (O(n^2)),最坏情况是 (O(2^n))B. 最好情况是 (O(n)),最坏情况是 (O(n^2))C. 最好情况是 (O(n)),最坏情况是 (O(2^n))A. 最好情况和最坏情况的时间复杂度都是 (O(n^2)))的三元组,代码用三重循环实现,其时间复杂度是( )。:关于插入排序的时间复杂度,下列说法正确的是( )。(第n阶的方法数=第n-1阶+第n-2阶的方法数)。:关于结构体初始化,以下哪个选项中正确的是( )。:关于排序算法的稳定性,以下说法错误的是( )。
2025-10-12 15:21:32
1084
原创 2025年GESP9月认证C++一级真题解析
下面的C++代码用于求N的镜面数(N的个位到最高位的各位数字依次反过来出现在数字中,但高位0将被忽略,不输出),如输入1234,则将输出4321,又如输入120,则将输出21,错误的选项是( )。如果输入的值为大于1的正整数,该代码能实现所求。B. 程序输入过程中,如果输入的第一个数不是-999,则如果待输入的数据中没有-999,则程序能求出已输入整数中的最大数和最小数。下面的C++代码中变量N和M都是整型,则执行时如果先输入10并输入一个制表符后输入20并回车,其输出的数值是( )。
2025-10-12 14:47:39
136
原创 2025年GESP9月认证C++二级真题解析
无限链由3种环循环组成:G3(3克,每12克4个,即4个G3=12克)、G4(4克,每12克3个,即3个G4=12克)、G6(6克,每12克2个,即2个G6=12克),链顺序:G3(4个)→G4(3个)→G6(2个)→G3(4个)…代码输出的是字符’9’(显示为“9”),但题干说“输出为9”(隐含整数9),概念错误(字符’9’与整数9不同),故题干错误。:下面C++代码实现输出特定图形(如输入层数10,输出左对齐的数字序列,每层数字递增,超过9则重置为1),横线处应填入的代码是( )。
2025-10-12 14:38:45
268
原创 洛谷# P11228 [CSP-J 2024] 地图探险
问题摘要 题目描述了一个机器人在n行m列的网格地图上移动的问题。地图由字符'.'(空地)和'x'(障碍物)组成。机器人初始位置和方向给定,每次操作中,机器人尝试向前移动,若下一步无效则右转。要求统计机器人执行k次操作后访问过的不同位置总数。 核心思路 模拟移动过程:逐步处理机器人的每一步操作,包括移动或转向。 状态跟踪:使用数组记录访问过的位置和状态(位置+方向),以检测循环。 循环检测:若发现状态重复,则提前终止模拟,避免冗余计算。 结果统计:维护访问位置集合,最终输出不同位置的数量。 解决代码 #inc
2025-09-21 15:28:51
632
原创 洛谷P11227 [CSP-J 2024] 扑克牌
小 P 从同学小 Q 那儿借来一副n张牌的扑克牌。本题中我们不考虑大小王,此时每张牌具有两个属性:花色和点数。花色共有4种:方片、草花、红桃和黑桃。点数共有13种,从小到大分别为。注意:点数10在本题中记为T。我们称一副扑克牌是的,当且仅当对于每一种花色和每一种点数,都有一张牌具有对应的花色和点数。由此,一副完整的扑克牌恰好有4×1352张牌。以下图片展示了一副完整的扑克牌里所有的 52 张牌。小 P 借来的牌可能不是完整的,为此小 P 准备再向同学小 S 借若干张牌。
2025-09-21 14:24:10
1065
原创 2025 CSP-S 提高组题目解析
有5个红色球和5个蓝色球,除颜色外完全相同。将10个球排成一排,要求任意两个蓝色球都不能相邻,有多少种不同的排列方法?
2025-09-21 11:38:18
2487
1
原创 CSP-J 入门级第一轮认证 2025 详细解析
2025年CSP-J入门级第一轮认证模拟赛提供10套免费试题,含选择题与解析。选择题涉及计算机科学基础,如32位无符号整数最大值计算(约42.9亿,选A)、C++位运算(255&254=254,选B)、递归函数分析(calc(5)=6,选B)、哈夫曼树构造(带权路径长度186,选B)等。其他题目涵盖图论(有向图边数等于入度/出度和,选B)、组合数学(120种选法,选C)、布尔逻辑(选项C不恒等)、模运算周期性(f[2025]=6,选D)、C++字符串特性(支持string+char,选B)及引用传参
2025-09-21 10:17:20
1797
1
原创 第8次CCF PTA编程培训师资认证-C-C++真题解析(2025上)
算法题解摘要 1. 现代仓库物资整理 问题类型:分数背包问题 解法:贪心算法优先处理单位时间价值高的物资 关键点:计算v_i/t_i比值并降序排序,依次处理直到时间用完 复杂度:O(N log N) 主要来自排序 2. 考古遗址文物拼接 问题类型:图遍历问题 解法:DFS回溯法搜索最优拼接路径 关键点:建立边缘代码到残片的映射图,按价值降序优化搜索 复杂度:最坏O(N!) 但通过剪枝优化 3. 班级象棋擂台赛奖金 问题类型:田忌赛马问题 解法:贪心策略双指针处理 关键点:双方排序后比较最强/最弱选手,最大化
2025-09-17 16:04:20
225
原创 第7次CCF PTA编程培训师资认证-C-C++真题解析(2024下)
从高度H向下计算到高度1,对于每棵树和高度,考虑从同一棵树下来或从其他树跳来(高度下降Delta),并维护每个高度所有树的最大dp值。:使用四维DP数组dp[i][j][k][l]表示两条路径分别到达(i,j)和(k,l)时的最大和。将n个盘子从A柱移动到B柱,借助C柱:首先将n-1个盘子从A移动到C,借助B;:使用双哈希预处理字符串,然后枚举所有可能的A长度L,统计以每个位置结尾的AA形式个数f[i]和以每个位置开头的BB形式个数g[i]。最后计算所有f[i] * g[i+1]的和作为答案。
2025-09-14 20:27:29
120
原创 第8次CCF PTA编程培训师资认证-T1 真题解析(2025上)
本文解析了15道教育理论选择题,涵盖教育内容特点、评价方式、思维品质、道德发展、气质类型、自我意识等知识点。其中,教育内容的核心特点是科学性、系统性和针对性,而非娱乐性;科尔伯格道德发展阶段中,"好孩子"取向属于寻求认可阶段;布鲁姆的教育目标分为认知、情感和动作技能三大领域。文章还指出,素质教育应避免形式化,需注重学生全面发展与创新能力的培养。这些题目涉及教育学、心理学基础理论及教师职业道德规范,反映了教育实践中的常见问题与原则。
2025-09-14 17:14:14
369
原创 GESP八级真题考点分析和解题思路
摘要:本文分析了GESP八级考试真题,涵盖区间覆盖、最小生成树、组合数学、图论连通分量、数论LCM、序列DP、计算几何、状态压缩BFS等核心考点。重点考察树形算法(7题)、图论算法(6题)和动态规划(5题),提供了树形DP、Tarjan求割点、旋转卡壳和状态压缩BFS的关键代码模板。考生需掌握贪心、DFS/BFS、DP、数论等解题方法,针对高频题型进行专项训练。
2025-07-12 10:56:53
488
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅