跳到主要内容

本栏目介绍

Olympiad in Informatics,是 OIers 们的最高目标,即 AKIOIAK IOI

那么这个栏目将要以 OIer 的视角走进算法竞赛,是对于 C++ 语言和习题更为深刻的讲解。

本章将会介绍编程相关的知识,包括 C++ 从入门到进阶教程和一些其它语言的简介。程序是算法与数据结构的载体,是解决 OI 问题的工具。在 OI 中,最常用的编程语言是 C++。学习编程是学习 OI 最基础的部分。

事先声明 / 特别告知

由于时间和技术的原因,这个栏目不会定期更新太多。

如果你希望这个栏目的内容更为丰富,请联系我们。

还有!这个栏目可以说是 OI-wiki 更好的阅读体验,大部分文章来自 OI-wiki。


为了进一步发现编程与犇犇的奥秘,点击以获取真谛!👇


大纲 / 编程
阶段
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)