自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(297)
  • 收藏
  • 关注

原创 2026《算法高效进阶》信息学奥赛暑期集训营

2026年《算法高效进阶》信息学奥赛暑期集训营面向已掌握C++及基础算法的选手招生,提供线下(机房授课)和线上(直播+回放)两种形式。课程分为A班(系统学习算法与数据结构)和B班(NOIP难度实战训练),并推出联报优惠。福利包括公益模拟赛、金牌导航课程赠送及获奖激励。仅接受教练统一报名,报名即赠教材及OJ账号使用权。集训时间:7月25日-8月9日,目标助力学员冲击普及组/提高组一等奖。

2026-07-21 09:13:49 278

原创 2026年GESP3月认证C++五级真题解析

因为要合并成升序数组,所以当A[i]小于等于B[j]时,取A[i],否则取B[j]。当a[i]>a[j]时,左边数组中从i到m的所有元素都大于a[j],因此逆序对数量增加m-i+1。给定一个包含n个互不相同的正整数的数组A与一个包含m个互不相同的正整数的数组B,请你帮忙计算有多少个数在数组A与数组B中均出现。下面代码实现两个整数除法,其中被除数为一个“大整数”,用字符串表示,除数是一个小整数,用int表示,则横线处应该填写()。且a[i] > a[j],则a[i]和a[j]是一个逆序对。

2026-04-10 20:57:20 115

原创 2026年GESP3月认证C++四级真题解析

后续对引用的所有操作,都是对绑定的原变量的操作,描述正确。

2026-04-02 17:01:30 120

原创 2026年GESP3月认证C++三级真题解析

字符’0’的ASCII码是48,字符’1’的ASCII码为49,因此(int)'1’的结果是49。:C++位运算符有明确的优先级(从高到低:~ > <<、>> > & > ^ > |),括号可以强制改变运算顺序,括号内的表达式优先执行,能够完全解决优先级带来的运算顺序问题。:5对2取余即5%2,数学结果为1。常规取余流程图通过循环减法实现:5-2=3,3-2=1,1<2,最终结果为1,逻辑正确,输出结果符合预期。只会保留a的最低二进制位,题目中a的最低位为0,因此表达式结果为0==0,值为true。

2026-04-02 16:22:37 253

原创 2026年GESP3月认证C++二级真题解析

摘要 本文解析了10道C++编程题目,涵盖输入设备、流程图符号、变量命名、逻辑运算、浮点数精度、循环结构等核心知识点。关键结论包括:预装算法不属于输入设备(B);条件判断需用菱形框(D);变量名大小写敏感(D);德摩根定律应用(C);浮点数精度误差导致比较失败(B);循环嵌套与break/continue的差异影响输出结果(A、C、6)。通过逐题解析,系统梳理了C++语法要点和常见编程误区。

2026-04-02 15:54:17 105

原创 2026年GESP3月认证C++一级真题解析

N 是一个正整数。如果 N 的所有奇数位的数位和等于所有偶数位的数位和,则称它是一个“双螺旋数”。例如 12375 的所有奇数位的数位和是9,同时它的所有偶数位的数位和也是9,则 12375 就是一个双螺旋数。:本题考查cin对int类型变量的输入处理规则:cin会读取连续的数字字符(可带正负号),直到遇到非数字字符,将合法数字转为整数赋值给变量,剩余字符留在输入流,不会直接报错。:小明想要快速知道任给一个正整数中有多少个奇数位(数位值是奇数),下面的C++代码是其实现,横线处应该填入的代码是()。

2026-04-02 15:51:10 139

原创 GESP五级通关秘籍 二分算法

二分算法核心基于与,将问题规模每次减半,时间复杂度优化至。

2026-02-12 14:17:31 86

原创 GESP六级通关秘籍:搜索 2.广度优先搜索

总而言之,BFS是解决“最短路径”和“层序处理”问题的基石。掌握它,不仅能解决迷宫寻路,更能应对复杂的状态空间搜索(如八数码)和依赖分析(如拓扑排序)。下表按类别整理了题目,难度覆盖入门到提高。类别题目编号题目名称来源/标签核心考察点与提示1. 无权图最短路P1443马的遍历普及/提高-BFS最基础模板:在棋盘上求马跳到各点的最少步数。P1746离开中山路普及/提高-二维网格最短路:带障碍的迷宫,求起点到终点的最短路径。P1135奇怪的电梯普及/提高-状态转移BFS。

2026-02-08 11:04:47 80

原创 贪心算法 匹配/对抗贪心 洛谷 P1650 田忌赛马

代码的核心问题是贪心逻辑不完整(未跟踪齐王弱马)、循环方式不合理,导致无法得到最优解。正确解法的核心是升序排序+四指针贪心,优先级为「赢最强→送最弱→赢最弱→最小化损失」。该问题是典型的贪心应用题,无需复杂的二分图或费用流,抓住「能赢则赢,必输止损」的核心即可高效解决。

2026-02-07 11:17:58 981

原创 GESP六级通关秘籍:树的遍历3.最近公共祖先(LCA)

如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。

2026-02-07 10:25:00 63

原创 贪心算法 匹配/对抗贪心 洛谷 P1809 过河问题

核心算法是贪心,核心逻辑是「优先送走两个最慢的人,选择局部最优策略,逐步减少待过河人数」。排序是基础,两种往返策略是核心,边界处理是补充,三者结合实现高效求解(时间复杂度O(n log n),满足n≤10^5的数据要求)。两种策略的选择是关键,通过对比和,确保每次送走双慢的耗时最少。cin.tie(0);int n;cin >> n;i < n;int m = n;// 策略1:最快的人分两次送两个最慢的人。

2026-02-05 17:34:50 1041

原创 GESP五级通关秘籍 贪心算法 常见题型解题模板

排序规则:必须按区间「右端点b_i」升序排序,这是贪心算法生效的前提。贪心策略:只在当前区间无法被上一个点覆盖时,选择当前区间的右端点作为新点,最大化覆盖后续区间。核心思想:通过局部最优(每个新点覆盖尽可能多的区间),实现全局最优(最少点数量),时间复杂度主要由排序决定(O(N log N)1.2最大不相交区间数量 例题:P1803 凌乱的yyy / 线段覆盖排序规则:必须按区间「右端点b_i」升序排序,这是获取最多区间的前提。贪心策略。

2026-02-04 20:38:03 74

原创 GESP五级通关秘籍 贪心算法 3匹配/对抗贪心

你原代码的核心问题是贪心逻辑不完整(未跟踪齐王弱马)、循环方式不合理,导致无法得到最优解。正确解法的核心是升序排序+四指针贪心,优先级为「赢最强→送最弱→赢最弱→最小化损失」。该问题是典型的贪心应用题,无需复杂的二分图或费用流,抓住「能赢则赢,必输止损」的核心即可高效解决。P1809 过河问题核心算法是贪心,核心逻辑是「优先送走两个最慢的人,选择局部最优策略,逐步减少待过河人数」。排序是基础,两种往返策略是核心,边界处理是补充,三者结合实现高效求解(时间复杂度O(n log n),满足。

2026-02-04 09:48:04 75

原创 GESP五级通关秘籍 贪心算法 2损失最小化(代价最小化)

P1969 [NOIP 2013 提高组] 积木大赛。P1031 [NOIP 2002 提高组] 均分纸牌。P5019 [NOIP 2018 提高组] 铺设道路。P14361 [CSP-S 2025] 社团招新。线性贪心 中的 相邻调整 类型。P3817 小A的糖果。

2026-02-03 18:39:04 65

原创 GESP五级通关秘籍 贪心算法 1区间类贪心-1.4区间分组问题

常见分组策略按左端点排序最小堆:用于最少分组问题按右端点排序:用于最多不重叠区间数扫描线算法:统计最大重叠区间数。

2026-02-01 22:17:23 94

原创 GESP五级通关秘籍 贪心算法 1区间类贪心-1.3区间覆盖问题

P2082 区间覆盖(加强版) - 标准区间覆盖P2376 [USACO09OCT] Allowance G - 类似区间覆盖的分配问题P1514 引水入城 - 复杂区间覆盖问题。

2026-02-01 21:06:46 67

原创 GESP五级通关秘籍 贪心算法 1区间类贪心-1.2区间选点问题

本题贪心核心是按右端点排序+右侧优先种树,最大化树木的复用率,从而得到最少总树数。关键步骤是「排序区间」和「从右往左补充种树」,这两个操作是实现全局最优的核心。标记数组的使用保证了高效查询和修改区间内的种树状态,适配题目数据规模。

2026-02-01 20:54:16 67

原创 GESP五级通关秘籍 贪心算法 1区间类贪心-1.1最大不相交区间/活动安排类

P1204 [USACO1.2] 挤牛奶 Milking Cows区间合并的变形,求最长覆盖和最长间隔这是一个经典的区间调度问题,也称为活动选择问题。我们需要从一组区间中选择尽可能多的互不重叠的区间。问题转化:贪心策略:算法正确性证明:代码说明数据结构:排序:贪心选择:输出:对于样例输入:程序执行过程:区间定义:排序的重要性:数据范围:这个算法是解决区间调度问题的最优解,能够保证在 O(N log N) 的时间内找到最多的互不重叠区间。这道题是一个区间合并问题。我们需要将重叠的区间合并,然后找出

2026-02-01 19:24:34 76

原创 GESP五级通关秘籍 贪心算法

排序后直接顺序遍历选择最优解,是最直观的贪心类型。

2026-02-01 15:47:43 75

原创 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 71

原创 GESP六级通关秘籍:集合set

set的核心适用场景:自动去重、O(logn)快速查找/插入/删除、动态维护有序集合,尤其适合需要“去重+有序”或“快速存在性判断”的问题。入门必刷:洛谷P1059(基础去重)、P1540(存在性判断),掌握set的核心用法;进阶提升:洛谷P1168(双set维护中位数),理解set的有序特性和灵活运用技巧。

2026-01-25 15:21:38 47

原创 GESP六级通关秘籍:树的遍历1.树的高度/深度计算

递归DFS计算深度的核心是后序遍历:先算左右子树深度,再推导当前节点深度;递归终止条件是“空节点返回0”,当前节点深度=max(左,右子树深度)+1;递归版代码简洁但有栈溢出风险,处理1e6级数据需改用迭代版(BFS/迭代DFS)。

2026-01-25 12:02:11 50

原创 GESP六级通关秘籍:树的遍历

P1120 小木棍(非树,但类似思想)或P3379 [模板]最近公共祖先(LCA)(需要子树大小)3.最近公共祖先(LCA):通过遍历(如DFS)可以预处理节点深度,进而求LCA。P1364 医院设置(求带权树的重心)或P1395 会议(树的重心)P3379 【模板】最近公共祖先(LCA)(也可以用欧拉序求LCA)2.子树大小(节点数)计算:通过遍历可以统计每个节点的子树大小。8.判断树的结构(同构等):通过遍历可以获取树的结构信息。1.树的深度/高度计算:通过遍历可以计算树的深度或高度。

2026-01-24 14:48:52 161

原创 GESP六级通关秘籍(01背包:6带有特殊约束(如互斥、依赖、数量限制、正负收益等)的 01 背包)

物品价值 / 消耗含负数、选法需满足额外逻辑(如选 A 则不能选 B)等,可通过状态调整适配 01 背包模型。例题:1.P1064 [NOIP 2006 提高组] 金明的预算方案。

2026-01-21 20:04:55 144

原创 GESP六级通关秘籍(01背包:5多维限制问题(多维 01 背包))

朴素三维DP:直观但空间开销大,保留了所有中间状态。滚动数组优化:空间效率高,但只保留最终结果。根据题目数据范围(H,T ≤ 400,n ≤ 50),朴素三维DP需要约 32 MB 内存,在大多数情况下可以接受,但不如滚动数组优化版本高效。

2026-01-15 21:16:58 93

原创 GESP六级通关秘籍(01背包:4求方案数)

dp[i][j]表示考虑前i道菜,恰好花费j元的方案数。

2026-01-15 20:50:41 72

原创 GESP六级通关秘籍(01背包:3求方案是否可行 / 能否恰好装满)

dp[i][j]表示在唱完第i首歌后,是否可以达到音量jtrue或false有n个物品(题目),每个物品有重量(时间),需要将这些物品放入两个容器(左右大脑)中,使得两个容器的总重量差最小。每个题目只能做一次,只能分配给一个大脑(左脑或右脑),所以每个题目只能使用一次,这是01背包的特性。

2026-01-15 20:04:14 66

原创 GESP六级通关秘籍(01背包:2最小代价问题)

dp[j]表示获得至少jjj毫升饮料所需的最小花费,其中jjj的范围是000到LLL。

2026-01-15 19:27:18 74

原创 GESP六级通关秘籍(01背包:1基础最大化问题)

使用一维数组。

2026-01-15 17:57:26 226

原创 GESP八级通关秘籍(选择判断题)

【代码】GESP八级通关秘籍(选择判断题)

2026-01-14 21:16:29 184

原创 GESP七级通关秘籍(选择判断题)

图的分类:无向图(边无方向,如双向道路)、有向图(边有方向,如单向车道);节点的度:无向图中节点连接的边数,有向图中分为入度(指向节点的边数)和出度(离开节点的边数);图的存储:C++ 中常用两种方式——邻接矩阵(二维数组,适合节点少、边多的稠密图)、邻接表(vector 数组,适合节点多、边少的稀疏图);BFS(广度优先搜索):“逐层扩散”的遍历方式,像“水波涟漪”,用队列实现,适合找“最短路径”(无权重图);

2026-01-14 21:08:41 156

原创 GESP六级通关秘籍(选择判断题)

树是一种“非线性”的数据结构,长得像现实中的树(倒过来的):最顶端的节点叫“根节点”(比如树根),每个节点下面挂的子结构叫“子树”,节点之间的连接叫“边”,没有子节点的节点叫“叶子节点”(比如树叶)。比如家谱就是典型的树结构——爷爷是根,爸爸、叔叔是爷爷的子节点,你是爸爸的子节点,你没有孩子就是叶子节点。

2026-01-14 20:59:06 428

原创 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 339

原创 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 246

原创 GESP二级通关秘籍(选择判断题)

误以为“IP地址在全球唯一”:实际IP地址分“公网IP”(全球唯一)和“内网IP”(比如192.168开头,仅内网唯一),考试可能考“内网IP是否唯一”,要注意范围限定。ASCII码是给“英文字母、数字、符号”编的“数字编号”,电脑存字符时,其实存的是这个编号(比如存‘A’,实际存的是65)。“重复里套重复”,比如“打印10行,每行打印5个星号”(外层循环控制行数,内层循环控制每行的星号数)。“选了又选”的逻辑,比如“先判断是否及格,及格了再判断是良好还是优秀”,就是分支里套分支。

2026-01-14 20:08:50 117

原创 GESP三级通关秘籍(选择判断题)

计算机只认识0和1,所以整数在电脑里都是以二进制形式存储的。原码、反码、补码就是“把整数翻译成二进制”的三种规则,核心是解决“负数怎么用二进制表示”的问题(正数的三种编码完全一样)。

2026-01-14 20:00:14 120

原创 GESP一级通关秘籍(选择判断题)

语法类==和混淆、分号/括号遗漏、关键字误用、输入输出头文件缺失。逻辑类:循环边界错误、悬空else、短路逻辑忽略、浮点型精度判断错误。操作类:文件路径含中文、注释嵌套、调试时不看中间变量、输出格式不符要求。这些易错点都是新手最常踩的坑,备考时需结合实际敲代码练习,重点关注“语法细节”和“逻辑边界”,通过多测试不同用例(如0、负数、边界值)规避错误。

2026-01-14 19:38:37 161

原创 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 316

原创 2025年GESP12月认证C++二级真题解析

摘要 本文包含11道C++编程与计算机基础单选题,每题2分,覆盖以下知识点: 计算机硬件组成(处理器功能) 网络类型划分(LAN/PAN/MAN/WAN) C++变量命名规则(关键字限制) 循环小数位数计算(模运算应用) 浮点数输出格式(%g的截断规则) 数字编码校验位算法(整数除法与取模) 循环与条件判断(负数的模运算结果) 嵌套循环次数计算(奇数和累加) 循环控制语句(break/continue执行逻辑) 循环结构等效性(for与while转换差异) 循环终止条件与continue的交互作用 典型题型

2025-12-31 15:57:35 342

原创 2025年GESP12月认证C++一级真题解析

摘要 本文包含13道C++编程选择题,每题2分,涉及语法、运算符、循环、条件判断等知识点。题目考察了变量命名规则、运算符优先级、赋值语句、循环控制、格式化输出等内容。部分题目解析与标答存在差异,例如第4题逗号表达式输出应为5但标答为4,第6题赋值运算结果应为4 4但标答为3 4等。这些题目适合用于检验基础编程能力,但需注意部分标答可能存在争议,建议结合具体编译环境验证。最后一题考察"漂亮数"判断,要求填写数字某位能被3整除的条件表达式。

2025-12-31 15:45:31 738 1

第2次CCF PTA编程培训师资认证考试-T1试卷

第2次CCF PTA编程培训师资认证考试-T1试卷

2024-08-29

第1次CCF PTA编程培训师资认证- T1考卷

第1次CCF PTA编程培训师资认证- T1考卷

2024-08-29

第5次 CCF PTA编程培训师资认证考试-P试卷-C++

第5次 CCF PTA编程培训师资认证考试-P试卷-C++

2024-04-19

第3次 CCF PTA编程培训师资认证考试-P试卷-C++

第3次 CCF PTA编程培训师资认证考试-P试卷-C++

2024-04-19

第2次CCF PTA编程培训师资认证考试-P试卷(C++)

第2次CCF PTA编程培训师资认证考试-P试卷(C++)

2024-04-19

第1次CCF PTA编程培训师资认证-Python&C-C++编程考卷

第1次CCF PTA编程培训师资认证-Python&C-C++编程考卷

2024-04-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除