走进 C++
程序框架、main 函数、头文件、注释、Dev-C++
查看详情 →
认识 C++ 程序从哪里开始运行,能独立创建、保存、编译和运行一个完整程序。
课堂练习:练习输出自我介绍、课程表、简单图形,重点检查分号和括号。
GESP C++ 1-8 级知识库
上方选择等级,左侧查看本级知识点,右侧展开常用算法模板。适合学生复习、家长了解进度、老师备课搭框架。
变量、输入输出、基础运算、简单分支与循环,是整条路线的地基。
程序框架、main 函数、头文件、注释、Dev-C++
认识 C++ 程序从哪里开始运行,能独立创建、保存、编译和运行一个完整程序。
课堂练习:练习输出自我介绍、课程表、简单图形,重点检查分号和括号。
cin/cout、int、double、char、bool、变量命名
掌握用变量保存数据,用 cin 读入数据,用 cout 按题目格式输出结果。
课堂练习:练习两个数求和、单位换算、交换变量、格式化输出。
+、-、*、/、%、自增自减、四舍五入
理解整数除法和小数除法的区别,能根据题意选择合适的数据类型。
课堂练习:练习时间换算、平均数、余数问题、简单公式计算。
if、else、关系运算符、逻辑运算符
能把题目中的条件翻译成代码判断,并根据结果执行不同语句。
课堂练习:练习奇偶判断、成绩等级、最大最小值、简单分类讨论。
嵌套分支、嵌套循环、ASCII、类型转换和常用数学函数。
cmath、sqrt、abs、pow、ceil、floor
能调用常用数学函数处理平方根、绝对值、幂和取整问题。
课堂练习:练习距离公式、四舍五入、范围判断。
if-else if、switch、分类讨论
把复杂条件拆成互斥分支,避免条件重叠和漏判。
课堂练习:练习成绩等级、票价规则、日期判断。
双重循环、图形打印、枚举
理解内外层循环的含义,能控制行、列和循环边界。
课堂练习:练习矩形、三角形、九九乘法表、简单枚举。
char、int、强制转换、字符编码
掌握字符和编码值之间的关系,能处理大小写转换和数字字符。
课堂练习:练习字符分类、大小写转换、数字字符求和。
一维数组、字符串、进制转换、位运算、枚举和模拟。
下标、遍历、最大最小、统计
能保存一组数据并进行统计、查找、修改和输出。
课堂练习:练习成绩统计、出现次数、逆序输出。
string、length、下标、遍历
能处理一串字符,完成查找、计数和简单变换。
课堂练习:练习回文、元音计数、字符替换。
二进制、十进制、短除法、取余
理解不同进制的表示和转换过程。
课堂练习:练习十进制转二进制、二进制转十进制。
按规则执行、逐步更新、暴力枚举
能把题目规则一步一步翻译成程序过程。
课堂练习:练习日期模拟、游戏规则模拟、枚举答案。
函数、结构体、二维数组、递推、基础排序和文件操作。
参数、返回值、作用域、模块化
把重复逻辑封装成函数,让程序结构更清晰。
课堂练习:练习判断素数、求最大公约数、计算面积。
struct、成员、排序、记录信息
用结构体描述一个对象,如学生、成绩、坐标。
课堂练习:练习学生成绩排序、坐标距离排序。
矩阵、行列、方向数组
处理表格、棋盘、地图等二维数据。
课堂练习:练习矩阵求和、边界统计、图像翻转。
sort、选择排序、冒泡排序、比较规则
掌握常用排序写法,理解排序后的数据如何辅助解题。
课堂练习:练习排名、去重、按多关键字排序。
初等数论、高精度、链表、二分、递归、分治和贪心。
单调性、左右边界、mid
当答案具有可行性单调时,用二分缩小答案范围。
课堂练习:练习查找位置、最小可行值、最大满足值。
边界、递归式、拆分问题
把大问题拆成同类小问题,注意终止条件。
课堂练习:练习阶乘、斐波那契、归并思想。
局部最优、排序、选择策略
每一步选择当前最优,并能解释为什么这样选。
课堂练习:练习区间选择、找零、排序后配对。
大整数、数组存位、进位
当数据超过 long long 时,用数组或字符串模拟计算。
课堂练习:练习高精度加法、乘一位数。
树、DFS、BFS、简单 DP、面向对象、栈和队列。
递归、回溯、访问标记、连通块
沿着一条路径深入搜索,再回退尝试其它路径。
课堂练习:练习迷宫、连通块、全排列。
队列、层次搜索、最短步数
按层扩展状态,常用于无权图最短路。
课堂练习:练习迷宫最短路、最少操作次数。
LIFO、FIFO、括号匹配、模拟
根据题目过程选择后进先出或先进先出结构。
课堂练习:练习括号匹配、排队模拟、表达式基础。
状态、转移、初始化
用数组记录子问题答案,通过转移得到更大问题答案。
课堂练习:练习爬楼梯、简单背包、线性最优值。
二维 DP、区间 DP、LIS/LCS、图遍历、Flood Fill 和哈希表。
二维状态、转移方向、边界
用两个维度描述状态,常见于网格和两个序列问题。
课堂练习:练习路径计数、最长公共子序列。
长度枚举、左右端点、合并
处理一段区间的最优解,通常按区间长度递推。
课堂练习:练习石子合并、括号匹配扩展。
邻接表、DFS、BFS、连通性
把对象关系建成图,再进行遍历或连通性判断。
课堂练习:练习连通分量、可达性、路径判断。
map、unordered_map、计数、查找
用键值对快速统计和查询。
课堂练习:练习两数之和、频次统计、去重。
计数原理、排列组合、倍增、图论综合、复杂度分析和算法优化。
计数原理、组合数、杨辉三角
理解选择和排列的区别,能计算常见组合计数。
课堂练习:练习组合数递推、路径计数、方案数。
二进制拆分、跳跃、预处理
用 2 的幂次加速多次跳转或查询。
课堂练习:练习快速幂、倍增跳父节点。
最短路、最小生成树、连通性
根据图的边权和目标选择合适图算法。
课堂练习:练习 Dijkstra、Kruskal、综合建图。
瓶颈分析、剪枝、预处理
能估算程序复杂度,并通过数据范围反推算法。
课堂练习:练习从 O(n^2) 优化到 O(n log n) 或 O(n)。