全部课程
共 591 课。可用标题搜索。
阶段 0 · 编程与算法基本意识
- 001 什么是程序 🟢 入门
- 002 什么是算法 🟢 入门
- 003 什么是输入 🟢 入门
- 004 什么是输出 🟢 入门
- 005 什么是变量 🟢 入门
- 006 什么是内存 🟢 入门
- 007 什么是编译 🟢 入门
- 008 什么是运行 🟢 入门
- 009 什么是编译错误 🟢 入门
- 010 什么是运行错误 🟢 入门
- 011 什么是答案错误 WA 🟢 入门
- 012 什么是超时 TLE 🟢 入门
- 013 什么是内存超限 MLE 🟢 入门
- 014 什么是运行错误 RE 🟢 入门
- 015 什么是测试样例 🟢 入门
- 016 手动模拟程序 🟢 入门
- 017 调试程序 🟢 入门
- 018 边界情况 🟢 入门
- 019 极端数据 🟢 入门
- 020 算法正确性意识 🟢 入门
阶段 1 · C++ 基础
- 021 C++ 程序基本结构 🟢 入门
- 022 #include 🟢 入门
- 023 main() 🟢 入门
- 024 return 🟢 入门
- 025 注释 🟢 入门
- 026 变量定义 🟢 入门
- 027 常量 🟢 入门
- 028 标识符 🟢 入门
- 029 赋值语句 🟢 入门
- 030 int 🟢 入门
- 031 long long 🟢 入门
- 032 float 🟢 入门
- 033 double 🟢 入门
- 034 char 🟢 入门
- 035 bool 🟢 入门
- 036 数据范围 🟢 入门
- 037 整数溢出 🟢 入门
- 038 强制类型转换 🟢 入门
- 039 隐式类型转换 🟢 入门
- 040 cin 🟢 入门
- 041 cout 🟢 入门
- 042 换行 🟢 入门
- 043 endl 🟢 入门
- 044 \n 🟢 入门
- 045 格式化输出 🟢 入门
- 046 fixed 🟢 入门
- 047 setprecision 🟢 入门
- 048 快速 IO 🔵 基础
- 049 ios::sync_with_stdio(false) 🔵 基础
- 050 cin.tie(nullptr) 🔵 基础
阶段 2 · 运算符
阶段 3 · 程序控制结构
阶段 4 · 数组与字符串
- 080 一维数组 🟢 入门
- 081 数组下标 🟢 入门
- 082 数组初始化 🟢 入门
- 083 遍历数组 🟢 入门
- 084 数组最大值 🟢 入门
- 085 数组最小值 🟢 入门
- 086 数组统计 🟢 入门
- 087 二维数组 🟢 入门
- 088 矩阵遍历 🟢 入门
- 089 多维数组基础 🟢 入门
- 090 ASCII 🟢 入门
- 091 char 字符 🟢 入门
- 092 字符大小写转换 🟢 入门
- 093 数字字符转换 🟢 入门
- 094 string 🟢 入门
- 095 字符串长度 🟢 入门
- 096 字符串遍历 🟢 入门
- 097 字符串拼接 🟢 入门
- 098 字符串比较 🟢 入门
- 099 substr 🟢 入门
- 100 find 🟢 入门
- 101 字符串反转 🟢 入门
- 102 回文判断 🟢 入门
阶段 5 · 函数与递归
阶段 6 · 结构体和 STL
- 121 struct 🟢 入门
- 122 结构体数组 🟢 入门
- 123 自定义排序 🟢 入门
- 124 vector 🟢 入门
- 125 pair 🟢 入门
- 126 stack 🔵 基础
- 127 queue 🔵 基础
- 128 deque 🔵 基础
- 129 priority_queue 🔵 基础
- 130 set 🔵 基础
- 131 multiset 🔵 基础
- 132 map 🔵 基础
- 133 unordered_map 🔵 基础
- 134 unordered_set 🔵 基础
- 135 sort 🟢 入门
- 136 reverse 🟢 入门
- 137 max 🟢 入门
- 138 min 🟢 入门
- 139 swap 🟢 入门
- 140 lower_bound 🔵 基础
- 141 upper_bound 🔵 基础
- 142 unique 🔵 基础
- 143 next_permutation 🔵 基础
阶段 7 · 算法复杂度
阶段 8 · 基础算法
阶段 9 · 排序
阶段 10 · 前缀和与差分
阶段 11 · 二分
阶段 12 · 双指针与滑动窗口
阶段 13 · 位运算
阶段 14 · 搜索
- 225 DFS 基本思想 🟢 入门
- 226 DFS 模板 🟢 入门
- 227 图上的 DFS 🟢 入门
- 228 网格 DFS 🟢 入门
- 229 连通块 🟢 入门
- 230 回溯 🟢 入门
- 231 排列搜索 🔵 基础
- 232 组合搜索 🔵 基础
- 233 子集搜索 🔵 基础
- 234 棋盘搜索 🔵 基础
- 235 路径搜索 🔵 基础
- 236 搜索树 🔵 基础
- 237 搜索状态设计 🔵 基础
- 238 visited 数组 🔵 基础
- 239 可行性剪枝 🔵 基础
- 240 最优性剪枝 🔵 基础
- 241 重复状态剪枝 🔵 基础
- 242 搜索顺序优化 🟠 进阶
- 243 BFS 🟢 入门
- 244 队列实现 BFS 🟢 入门
- 245 网格 BFS 🟢 入门
- 246 无权最短路 🟢 入门
- 247 多源 BFS 🔵 基础
- 248 状态 BFS 🔵 基础
- 249 双向 BFS 🟠 进阶
- 250 01 BFS 🟠 进阶
阶段 15 · 贪心
阶段 16 · 基础数据结构
阶段 17 · 哈希
阶段 18 · 并查集
阶段 19 · 树
阶段 20 · 二叉树与堆
阶段 21 · 动态规划 DP
- 320 什么是状态 🔵 基础
- 321 什么是状态转移 🔵 基础
- 322 初始状态 🔵 基础
- 323 DP 遍历顺序 🔵 基础
- 324 最优子结构 🔵 基础
- 325 无后效性 🔵 基础
- 326 记忆化搜索 🔵 基础
- 327 Fibonacci DP 🔵 基础
- 328 爬楼梯 🔵 基础
- 329 最大子段和 🔵 基础
- 330 LIS 🔵 基础
- 331 O(n²) LIS 🟠 进阶
- 332 O(n log n) LIS 🟠 进阶
- 333 LCS 🔵 基础
- 334 编辑距离 🟠 进阶
- 335 01 背包 🔵 基础
- 336 完全背包 🔵 基础
- 337 多重背包 🟠 进阶
- 338 分组背包 🟠 进阶
- 339 二维费用背包 🟠 进阶
- 340 恰好装满问题 🟠 进阶
- 341 背包方案数 🟠 进阶
- 342 背包最优方案 🟠 进阶
- 343 区间 DP 思想 🟠 进阶
- 344 区间长度枚举 🟠 进阶
- 345 石子合并 🟠 进阶
- 346 回文区间问题 🟠 进阶
- 347 子树 DP 🟠 进阶
- 348 树上选择 🟠 进阶
- 349 树上最大独立集 🟠 进阶
- 350 换根 DP 🔴 提高
- 351 Bitmask 🟠 进阶
- 352 子集状态 🟠 进阶
- 353 TSP 🔴 提高
- 354 子集 DP 🔴 提高
- 355 数位 DP 基本思想 🔴 提高
- 356 前导零 🔴 提高
- 357 tight 状态 🔴 提高
- 358 数字统计 🔴 提高
- 359 概率 DP 🟣 竞赛
- 360 期望 DP 🟣 竞赛
- 361 插头 DP 🟣 竞赛
阶段 22 · 图论
阶段 23 · 最短路
阶段 24 · 最小生成树
阶段 25 · 拓扑排序
阶段 26 · LCA 与倍增
阶段 27 · 树状数组
阶段 28 · 线段树
阶段 29 · ST 表
阶段 30 · Tarjan 系列
阶段 31 · 二分图
阶段 32 · 网络流
阶段 33 · 数论
- 466 因数 🟢 入门
- 467 倍数 🟢 入门
- 468 质数 🟢 入门
- 469 合数 🟢 入门
- 470 gcd 🟢 入门
- 471 lcm 🟢 入门
- 472 欧几里得算法 🟢 入门
- 473 质因数分解 🔵 基础
- 474 埃氏筛 🔵 基础
- 475 欧拉筛 / 线性筛 🟠 进阶
- 476 同余 🔵 基础
- 477 模加法 🔵 基础
- 478 模乘法 🔵 基础
- 479 模减法 🔵 基础
- 480 快速幂 🔵 基础
- 481 扩展欧几里得 🟠 进阶
- 482 裴蜀定理 🟠 进阶
- 483 模逆元 🔴 提高
- 484 费马小定理 🔴 提高
- 485 欧拉函数 🔴 提高
- 486 欧拉定理 🔴 提高
- 487 线性求逆元 🔴 提高
- 488 CRT 🔴 提高
- 489 扩展 CRT 🟣 竞赛