Logo 远明老师的课堂笔记

C++ · 算法 · 数学思维

交互动画 · 知识点游戏 · 代码模板 · 轻松理解核心概念

算法动画

for循环动画演示

可视化拆解 for 循环执行步骤,直观理解循环变量、条件和迭代过程

for 循环
算法动画

两次DFS寻找中心

两次DFS求直径,回溯路径取中点即为中心

DFS 树的中心 直径 图论
算法动画

两次DFS寻找直径

通过两次DFS寻找树的直径,第一次找最远点A,第二次从A找最远点B

DFS 直径 图论
算法动画

树形DP寻找中心

换根DP求d1/d2/up三状态,max(d1,up)最小值即为中心

树形DP 中心 换根
算法动画

进阶分装模拟器

更复杂的分装场景,综合运用取模和取整

分装 余数 取模 进阶
算法动画

零食大作战:求剩余

通过零食分装模拟,直观理解余数和取模运算

余数 取模 算术
知识点游戏

C++循环挑战

迷宫地牢探险闯关,在游戏中掌握 C++ 循环语法与逻辑

知识点游戏

周期冲刺:取模跑酷

实时动作跑酷游戏,通过躲避障碍体验取模运算如何让运动循环不息。5个关卡递增难度,支持二段跳,观察 x = (x + speed) % width 的实时演算。

知识点游戏

寻找中心点挑战赛

通过偏心度计算找出树的中心点,理解中心与直径的关系

树的中心 偏心度 直径
知识点游戏

数字捕捉手:奇偶与倍数

互动捕捉数字,学习奇偶判断与倍数关系

奇偶 倍数 整除
知识点游戏

时空穿梭机:闰年大挑战

穿越时空判断闰年,掌握复杂条件嵌套逻辑

闰年 判断
知识点游戏

贪吃蛇:目标余数猎手

控制贪吃蛇吃掉个位匹配的食物,学习 % 10 取余运算

取余 取模 取个位 贪吃蛇
知识点游戏

超级打字

一款极简打字特训游戏。内置四大模式,深度聚焦 C++ 核心关键字与高频易错符号,采用动态自适应且包容的难度曲线,帮助孩子在局域网机房环境中零压力建立键盘肌肉记忆。

知识点游戏

超级树屋设计师

通过添加房间让指定节点成为树的中心,直观理解偏心度与中心

树的中心 偏心度 图论
知识点游戏

超级羊

一款专为编程初学者设计的代码词块消除特训游戏。巧妙融合“羊了个羊”核心机制,内置三大进阶难度阵型,全面覆盖 C++ 基础语法与 STL 高频长词。通过智能折行技术与抗焦虑的难度曲线,帮助孩子在趣味闯关中迅速克服满屏代码的视觉恐惧,建立牢固的语法视觉印记。

知识点游戏

输入输出符号保卫战

区分 << 和 >>,保卫输入输出符号不出错

cout cin 输入输出 << >>
AI 课程

生活中的人工智能朋友

探索AI在日常生活中的应用场景

AI 科普 入门
AI 课程

体验人工智能技术

动手实践AI技术的神奇魅力

AI 实践 入门
AI 实验室

AI 人脸识别实验室

468点面部网格捕捉,长按训练表情,实时识别喜怒哀乐

AI 人脸识别 Facemesh 机器学习
AI 实验室

AI 手势扫描实验室

手部骨骼追踪,长按训练自定义手势,实时识别动作

AI 手势识别 Handpose 机器学习
AI 实验室

AI 绘画魔法拼图

拼图式组合提示词,一键复制让 AI 生成绘画作品

AI 绘画 提示词 拼图
AI 实验室

AI 视觉实验室

拍照教 AI 识别物体,感受 KNN 图像分类

AI 机器学习 图像分类
Demo

暖伴 — AI 银发守护助手

TRAE AI 创造力大赛创意提案,AI 驱动的银发守护助手

Demo AI 银发守护
C++ 模板

C++框架模板

竞赛最基础的模板:主函数框架,所有题目的起点

C++框架 main GESP1
C++ 模板

do-while循环模板

先执行后判断——至少执行一次的循环

do-while 循环 至少一次 GESP1
C++ 模板

for循环模板

已知循环次数时使用:累加、遍历、枚举

for循环 遍历 累加 枚举 GESP1
C++ 模板

while循环模板

未知循环次数时使用:条件驱动型循环

while循环 条件循环 GESP1
C++ 模板

关系运算模板

大于、小于、等于、不等于——比较两个值的关系

关系运算 比较 等于 GESP1
C++ 模板

分支语句模板

if-else、switch-case——让程序根据条件选择不同路径

if-else switch-case 分支 GESP1
C++ 模板

变量定义与使用模板

变量的声明、赋值、命名规则——程序存储数据的基本方式

变量 声明 赋值 命名 GESP1
C++ 模板

基础数据类型模板

int、long long、double、char、bool——选择正确的类型存储数据

数据类型 int double char bool long long GESP1
C++ 模板

求余模板

取余运算的原理与常见应用:取个位、判断整除、周期问题

求余 取余 余数 模运算 整除 周期 GESP1
C++ 模板

算术运算模板

加减乘除、整除、取余——C++ 中数学运算的基本规则

算术运算 整除 取余 GESP1
C++ 模板

输入输出模板

cin/cout 与 scanf/printf:竞赛中常用的输入输出方式

cin cout scanf printf 输入输出 GESP1
C++ 模板

逻辑运算模板

与&&、或||、非!——组合多个条件判断

逻辑运算 短路 GESP1
C++ 模板

多层分支模板

if-else 嵌套与 else-if 阶梯——处理多条件多层次的判断

多层分支 嵌套if else-if GESP2
C++ 模板

多层循环模板

嵌套循环的原理与经典题型:乘法表、图案打印、枚举

多层循环 嵌套循环 图案 枚举 GESP2
C++ 模板

常用数学函数模板

cmath 库常用函数:绝对值、幂、开方、四舍五入

数学函数 cmath abs sqrt pow GESP2
C++ 模板

数据类型转换模板

隐式转换与强制转换——理解 C++ 类型提升规则

类型转换 隐式转换 强制转换 GESP2
C++ 模板

一维数组模板

数组的声明、初始化、遍历——存储同类型数据的有序集合

一维数组 声明 初始化 遍历 GESP3
C++ 模板

位运算模板

与&、或|、异或^、取反~、左移<<、右移>>——用位操作提速

位运算 异或 移位 GESP3
C++ 模板

字符串模板

string 的创建、拼接、查找、截取——C++ 字符串操作大全

string 字符串 拼接 查找 截取 GESP3
C++ 模板

数据编码模板

原码、反码、补码——计算机如何表示和存储整数

原码 反码 补码 编码 GESP3
C++ 模板

枚举算法模板

穷举所有可能,逐一验证——最朴素但最可靠的算法思路

枚举 穷举 暴力 GESP3
C++ 模板

模拟算法模板

按题目描述的步骤逐步执行——忠实还原过程

模拟 过程还原 日期 闰年 GESP3
C++ 模板

进制转换模板

二进制、八进制、十进制、十六进制之间的互相转换

进制转换 二进制 八进制 十六进制 GESP3
C++ 模板

二维数组模板

矩阵的存储与操作——行优先、遍历、旋转

二维数组 矩阵 遍历 旋转 GESP4
C++ 模板

冒泡排序模板

相邻元素两两比较,大数下沉——最基础的排序算法

冒泡排序 排序 GESP4
C++ 模板

函数参数传递模板

值传递、引用传递、指针传递——理解参数如何传入函数

参数传递 值传递 引用传递 指针 GESP4
C++ 模板

函数的定义和使用模板

封装逻辑、提高复用——函数声明、定义、调用

函数 定义 调用 返回值 GESP4
C++ 模板

异常处理模板

try-catch 捕获运行时错误——让程序更健壮

异常处理 try-catch throw GESP4
C++ 模板

插入排序模板

将元素插入已排序部分的正确位置——对近乎有序的数据高效

插入排序 排序 GESP4
C++ 模板

文件重定向与读写模板

freopen 与 fstream——从文件读入、输出到文件

文件读写 freopen fstream 重定向 GESP4
C++ 模板

结构体模板

将多个不同类型的数据打包在一起——自定义数据类型

结构体 struct 成员 自定义类型 GESP4
C++ 模板

选择排序模板

每轮选出最小值放到前面——思路最直观的排序

选择排序 排序 GESP4
C++ 模板

递推算法模板

从已知推未知——找到状态转移方程,逐步求解

递推 状态转移 斐波那契 GESP4
C++ 模板

二分模板

在有序区间上快速查找——O(log n) 的搜索利器

二分查找 折半查找 GESP5
C++ 模板

唯一分解定理模板

任何正整数可唯一分解为质数幂的乘积

唯一分解 质因数分解 约数 GESP5
C++ 模板

埃式筛法模板

标记合数筛素数——O(n log log n) 的素数筛

素数筛 埃氏筛 筛法 GESP5
C++ 模板

归并排序算法模板

分治+合并——稳定排序,可同时求逆序对

归并排序 逆序对 分治 GESP5
C++ 模板

快速排序算法模板

选基准分区——平均最快的排序算法

快速排序 排序 分区 GESP5
C++ 模板

欧几里得算法模板

辗转相除法求 GCD 和 LCM——数论的基石

GCD LCM 辗转相除 欧几里得 GESP5
C++ 模板

线性筛法模板

每个合数只被最小质因子筛一次——严格 O(n)

线性筛 欧拉筛 GESP5
C++ 模板

贪心算法模板

每步选局部最优——不一定全局最优但往往有效

贪心 局部最优 区间调度 GESP5
C++ 模板

递归算法模板

函数调用自身——大事化小,小事化了

递归 递归终止 分治 GESP5
C++ 模板

链表模板

单链表与双链表的数组模拟——竞赛中最高效的实现

链表 单链表 双链表 数组模拟 GESP5
C++ 模板

高精度乘法模板

大数乘以普通整数——模拟竖式乘法

高精度 乘法 大数 GESP5
C++ 模板

高精度减法模板

大数减法:借位处理与正负判断

高精度 减法 大数 借位 GESP5
C++ 模板

高精度加法模板

用数组模拟大数加法——突破 long long 的限制

高精度 加法 大数 GESP5
C++ 模板

高精度除法模板

大数除以普通整数——模拟竖式除法

高精度 除法 大数 GESP5
C++ 模板

01背包模板

每个物品选或不选——最经典的动态规划模型

01背包 DP 背包 GESP6
C++ 模板

BFS搜索模板

广度优先搜索——逐层扩展,天然求最短路径

BFS 广度优先 最短路径 队列 GESP6
C++ 模板

DFS搜索模板

深度优先搜索——一条路走到底再回溯

DFS 深度优先 回溯 搜索 GESP6
C++ 模板

一维动态规划模板

线性 DP:最长上升子序列、最大子段和

一维DP LIS 最大子段和 GESP6
C++ 模板

二叉搜索树模板

左小右大的二叉树——查找、插入、删除

BST 二叉搜索树 查找 插入 GESP6
C++ 模板

哈夫曼树模板

最优编码树——带权路径长度最短的二叉树

哈夫曼 编码 优先队列 GESP6
C++ 模板

基础树形DP模板

在树上做动态规划——从叶子到根递推

树形DP 递推 DFS GESP6
C++ 模板

多重背包模板

每种物品有数量限制——二进制拆分优化

多重背包 DP 二进制拆分 GESP6
C++ 模板

完全背包模板

每种物品可以选无限次——正序遍历即可

完全背包 DP 无限 GESP6
C++ 模板

循环队列模板

数组模拟队列,取模实现循环——避免频繁移动元素

循环队列 数组模拟 取模 GESP6
C++ 模板

栈模板

后进先出 LIFO——括号匹配、表达式求值

stack LIFO 括号匹配 GESP6
C++ 模板

树上倍增之最近公共祖先 (LCA) 模板

利用二进制拆分思想在 O(log N) 时间内求树上两点的最近公共祖先

最近公共祖先 LCA 倍增算法 CSP-J
C++ 模板

树形DP之最大独立集模板

选不相邻的节点使权值和最大

最大独立集 树形DP GESP6
C++ 模板

树形DP之最小支配集模板

选最少的点使每个点要么被选要么邻居被选

最小支配集 树形DP GESP6
C++ 模板

树形DP之最小点覆盖模板

选最少的点覆盖所有边

最小点覆盖 树形DP GESP6
C++ 模板

树形算法之最近公共祖先 (LCA) 朴素求法

一步一步往上爬的直觉解法(暴力法)

最近公共祖先 LCA 朴素算法 暴力求解 CSP-J
C++ 模板

树的中心之两次DFS版本

两次 DFS 求直径以及在此基础上求出树的中心的逻辑,适用于大多数信息学竞赛(如 CSP-J/S, NOIP)的需求

树的中心 DFS GESP6
C++ 模板

树的中心之树形DP版本

树形 DP 求树的中心,本质是换根 DP(Rerooting DP) 的经典应用,目标是求出每个节点的离心率(该节点到树中最远节点的距离),然后取最小的那个。

树的中心 树形DP 换根DP GESP6
C++ 模板

树的定义构造模板

邻接表存储树、构建树、遍历树——树形问题的起点

邻接表 建树 GESP6
C++ 模板

树的直径之双DFS模板

两次 DFS 求树上最长路径——简单直观

树的直径 DFS 两次 GESP6
C++ 模板

树的直径之树形DP模板

一次 DFS 求直径——维护最长链和次长链

树的直径 树形DP 最长链 GESP6
C++ 模板

树的遍历模板

前序、中序、后序、层序——四种遍历方式与互相转换

树遍历 前序 中序 后序 层序 GESP6
C++ 模板

格雷编码模板

相邻两个编码只有一位不同——镜子反射构造法

格雷码 Gray码 反射 GESP6
C++ 模板

类的创建和使用模板

封装数据与行为——面向对象编程的基础

class 封装 构造函数 GESP6
C++ 模板

队列模板

先进先出 FIFO——BFS 的核心数据结构

队列 queue BFS FIFO GESP6
C++ 模板

哈希表

键值映射、O(1)查找、冲突处理——从原理到实现

哈希表 哈希函数 冲突处理 GESP7
C++ 模板

图论基础

图的存储、DFS/BFS遍历、Flood Fill——图论从零开始

邻接表 DFS BFS FloodFill GESP7
C++ 模板

进阶动态规划

二维DP、区间DP、LIS/LCS、滚动数组优化——DP 从入门到进阶

二维DP 区间DP LIS LCS 滚动数组 GESP7
C++ 模板

组合数学与图论进阶

排列组合、杨辉三角、倍增法、最小生成树、最短路——GESP 最高级算法

排列组合 杨辉三角 倍增 最小生成树 最短路 Dijkstra Kruskal GESP8

没有找到匹配的内容

试试其他关键词或分类