三三文档首页:修订间差异
->Importer 批量导入三三文档 |
小 导入1个版本 |
(没有差异)
| |
2026年5月20日 (三) 16:25的版本
三三文档
欢迎来到三三文档,这里收录了 C++ 编程与算法竞赛(OI)相关的学习资料、代码模板和题解。
入门学习路线
按照以下顺序逐步学习,从零基础到能够参加算法竞赛:
第一阶段:基础语法
1. 基础框架 — 万能头文件、main 函数、using namespace std
2. 输出语句 — cout、换行、转义符、保留小数
3. 输入语句 — cin、getline
4. 变量与基础类型 — int、long long、double、char、string、bool
5. 赋值与数学运算 — 赋值、运算符、语法糖
6. 字符 — ASCII、字符数字转换、大小写转换
7. 整数编码 — 二进制、原码反码补码、数据范围
8. 编译与运行 — 编译命令、栈空间、C++标准
9. 常见小技巧 — 常用头文件、宏定义、调试技巧
第二阶段:选择与循环
1. 选择语句 — if/else、比较运算符、逻辑运算符、布尔
2. 常见选择逻辑 — 闰年判断、三角形判断、上下取整
3. 循环语句 — while、for、break、continue
4. 常见循环逻辑 — 最值、求和、计数、质数判断、数位分解
5. 循环嵌套与综合 — 循环嵌套、综合练习
第三阶段:进阶基础
1. 数组 — 一维数组、多维数组
2. 字符串 — string、substr、find、遍历
3. 函数 — 定义、参数、返回值、传引用
4. 结构体 — 定义结构体、成员访问、结构体数组
5. 递归 — 递归思想、基础递归题目
6. 位运算与三目运算符 — 位运算、三目运算符
7. 文件读写与高级IO — freopen、IO 加速、读入到文件末尾
第四阶段:数据结构(STL)
1. vector — 动态数组 2. queue 与 deque — 队列与双端队列 3. stack — 栈 4. map / unordered_map — 映射 5. set / unordered_set — 集合 6. priority_queue — 优先队列 7. STL 实用例子 — 综合例题
---
参考资料
算法模板
- 排序算法 - 线段树 - 最近公共祖先 LCA - 高精度 - 矩阵快速幂 - 高斯消元 - 线性基 - 并查集
数学相关
- 质数判断与筛法 - 最大公因数与最小公倍数 - 欧拉函数 - 乘法逆元 - 字符串哈希 - 计算几何 - 组合数与反演 - 快速幂与快速乘
33OJ 文档
---
课程大纲
本套文档遵循 33dai 基础语法大纲 的课程体系,分为 核心序列(Core) 和 扩展维度(Extend) 两部分:
| 课程编号 | 课程标题 | 课程内容 |
|---|---|---|
| C01-1 | 高级计算器 | 输入输出语句、int 变量
|
| C01-2 | 如果那么 | 不带 else 的 if 语句
|
| C01-3 | 在范围内吗 | 带 else 的 if 语句
|
| C01-4 | 一直做下去 | while 语句
|
| C01-5 | 想做几次做几次 | for 语句
|
| C01-6 | 循环套循环 | 循环嵌套 |
| C01-7 | 先存起来 | 一维数组 |
| C01-8 | 数组妙用 | 权值数组、无返回值无参数函数 |
| C01-9 | 功能打包 | 有参数有返回值函数 |
| E01-1 | int 存不下了
|
long long 类型、数据范围、整数编码
|
| E01-2 | 小数怎么办 | double 类型、类型转换
|
| E01-3 | 文字与符号 | char 类型、字符数字转换
|
| E01-4 | 花式输入输出 | 读入到文件末尾、保留 [math]\displaystyle{ x }[/math] 位小数 |
| E01-5 | 更多运算符 | 位运算、三目运算符 |
| E01-6 | 高级控制 | break、continue 与 exit(0)
|
| E01-7 | 一串字符 | 字符串 |
| E01-8 | 高维结构 | 多维数组与结构体 |
| E01-9 | 自己调用自己 | 简单递归、参数传引用 |
教学约定
详见 教学约定。