本栏目介绍
Olympiad in Informatics,是 OIers 们的最高目标,即 !
那么这个栏目将要以 OIer 的视角走进算法竞赛,是对于 C++ 语言和习题更为深刻的讲解。
本章将会介绍编程相关的知识,包括 C++ 从入门到进阶教程和一些其它语言的简介。程序是算法与数据结构的载体,是解决 OI 问题的工具。在 OI 中,最常用的编程语言是 C++。学习编程是学习 OI 最基础的部分。
事先声明 / 特别告知
为了进一步发现编程与犇犇的奥秘,点击以获取真谛!👇
🗃️ 基础算法 · 基本应用
4 个项目
🗃️ 比赛相关 · 竞赛常识
6 个项目
🗃️ 数据结构 · 存储方式
3 个项目
🗃️ 深搜广搜 · 快速遍历
5 个项目
🗃️ 语言入门 · 快速步入
4 个项目
大纲 / 编程
| 阶段 Stage | 难度 Difficult | 主要内容与算法 Main and Algorithm | 竞赛参考 Contest and Competition |
|---|---|---|---|
| 入门阶段 初级阶段 (Beginner) | 初涉~入门 (0~1) | 基本结构、顺序与循环语句、变量与类型、简单运算符、初阶数学。 | GESP 1 级 / 校内编程社团入门 |
| 入门后期 基础衔接 (Elementary+) | 入门~入门+ (1~2) | 结构体、数组、字符串、字符串库、简单函数定义;读懂 50 行内代码;溢出 & 越界 RE 问题。 | GESP 1~2 级 / 校赛初级组 |
| 基础前期 普及阶段 (Foundation) | 广泛普及 (2~3) | 基本排序(冒泡、选择)、递归与递推;进制转换、位运算、指针初探。 | GESP 简单难度 / 校赛中级组 |
| 基础后期 提升阶段 (Advanced Foundation) | 普及~进阶 (3~4) | 熟练掌握指针与引用;深入函数、命名空间、模板函数;STL 入门(vector、set、map)。 | GESP 中等难度 / 校赛高级组 |
| 进阶阶段 算法与数据结构 (Intermediate) | 进阶 (4~5) | 高级 STL(堆、哈希、迭代器)、链表、栈与队列、树与图基础(DFS/BFS)、分治与贪心、动态规划。 | USACO 铜~银 / Codeforces Div.2 / AtCoder ABC |
| 高级阶段 现代 C++ 特性 (Advanced) | 高级 (5~6) | C++11/14/17/20 新特性(lambda、智能指针、move 语义、并发、元编程)、RAII 与内存模型。 | USACO 银~金 / NOI 省选 / Codeforces Div.1 |
| 专项提升 设计模式与工程化 (Specialization) | 专项 (6~7) | 23 种设计模式、代码规范与重构、调试与性能分析(gdb、Valgrind、Profiler)、CMake/Conan 构建。 | 公开课项目评比 / 开源社区贡献挑战 |
| 项目实践 实战与合作 (Project) | 实战 (7~8) | CLI/GUI 应用、游戏引擎入门、网络编程(socket)、文件 I/O、高性能计算示例。 | GitHub 开源项目 / Hackathon / 校园黑客松 |
| 专业方向 领域深耕 (Professional) | 专业 (8~9) | 嵌入式开发、图形渲染(OpenGL/DirectX)、高性能并行计算、金融量化、底层驱动开发。 | 企业实习项目 / 专业比赛(ICFP/TopCoder) |