跳到正文
C++ / ACM
自学笔记 · v5.0
首页
完整笔记
练习题解
GitHub ↗
搜索
⌘ K
深色
目录
阅读目录
序言
本部分导读
使用方法
按学习目标选择必读路线
分阶段练习索引
快速 I/O 与竞赛模板
C 与 C++ 的关系
一、C++ 语法基础
本部分导读
(一) 程序结构与编译
(二) 变量、数据类型与初始化
(三) 常量、类型转换与整数溢出
(四) 运算符与位运算
(五) 条件与循环
(六) 原生数组与枚举
(七) 函数、参数与作用域
(八) 指针、引用与对象生命周期
(九) auto、lambda 与结构化绑定
(十) 输入细节、文件与异常
(十一) 命名空间、头文件与多文件程序
(十二) 常用数学函数与数值计算
(十三) 常用标准流与输出格式
(十四) 模板入门:从相同操作到类型参数 T
(十五) STL:容器、迭代器与算法
(十六) std::function:保存、传递和更换计算动作
二、面向对象编程
本部分导读
(一) 类与对象
(二) 封装与访问控制
(三) 构造函数、初始化列表与析构函数
(四) this、const 成员函数与 static 成员
(五) 继承与组合
(六) 虚函数、重写与多态
(七) 拷贝、移动与资源自动管理
(八) 运算符重载与比较规则
(九) 面向对象部分的练习
三、解题方法论:从题意到代码
本部分导读
(一) 先提取对象、变量、限制和目标
(二) 把关键词翻译成条件
(三) 从要处理的对象确定循环
(四) 必要条件、充分条件与等价条件
(五) 从文字规则整理优先级
(六) 从计数要求推导向上取整
(七) 把最优化改成可行性判断
(八) 用不变量和反例检查推导
(九) 建模与推导中的典型反例
(十) 从样例猜想到证明与构造
(十一) 从输出目标确定状态信息
(十二) 一题多建模与最优方法的选择过程
(十三) 复杂题面到事件模拟的完整推导
(十四) 从推导到程序职责与错误定位
(十五) 反例构造、缩小输入与小规模对拍
(十六) 从 WA 回到题面与模型
(十七) 解题复盘与模型迁移
四、批量输入、大整数运算与提交检查
本部分导读
(一) fread 整数输入模板
(二) 大整数的加减乘除
(三) 解题和自查顺序
五、数据结构与算法
本部分导读
(一) 时间复杂度与空间复杂度
(二) 枚举与模拟
(三) 前缀和与差分
(四) 排序与离散化
(五) 基础数论
(六) 快速幂
(七) 哈希(散列)表
(八) 二叉树
(九) 双指针与滑动窗口(尺取法)
(十) 二分与三分搜索
(十一) 贪心算法
(十二) 搜索:递归、回溯、DFS、BFS 与记忆化
(十三) 动态规划(DP)基础
(十四) 并查集
(十五) 图论入门
后记
本部分导读
从读懂题目到独立完成一道题
留给继续练习的你
按学习阶段选择推荐书籍
后续学习路线
牛客周赛与 Codeforces 分级训练
国内 ACM 与 OI 类竞赛
阅读、做题与复盘的安排
附录
本部分导读
题解仓库入口
按章节与题号查阅
从提示回到独立解题
练习题解 · 111 份
首页
/ 附录
笔记 v5.0
查看 Markdown
图解可点击放大 · 代码可复制
附录
题解仓库入口
阅读 →
按章节与题号查阅
阅读 →
从提示回到独立解题
阅读 →
上一节
阅读、做题与复盘的安排
下一节
题解仓库入口
Esc
查阅笔记正文与全部题解 · Ctrl / ⌘ K
关闭