Index

来自三三百科
33DAI留言 | 贡献2026年5月20日 (三) 18:24的版本 (批量导入三三文档)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转到导航 跳转到搜索

三三文档

欢迎来到 三三文档,这里收录了 C++ 编程与算法竞赛(OI)相关的学习资料、代码模板和题解。本套文档遵循 33dai 基础语法大纲 的课程体系,从零基础到算法竞赛入门,循序渐进。


常用导航

Wiki 数学
Wiki 字符串
Wiki 页面
常用 OJ 平台
信息查询
常用工具

语法基础

输入输出与变量

条件判断

循环

一维数组

  • 数组 — 一维数组、多维数组

函数

  • 函数 — 定义、参数、返回值、传引用

数值类型与类型转换

字符类型与字符转换

  • 字符 — ASCII、字符数字转换、大小写转换

花式输入输出

二进制与位运算

字符串

  • 字符串stringsubstrfind、遍历

多维数组与结构体

  • 结构体 — 定义结构体、成员访问、结构体数组

简单递归

  • 递归 — 递归思想、基础递归题目

其他语法参考


能力提升

简单模拟

  • 简单模拟 — 经典模拟习题,日期计算、图形打印等

简单枚举

简单高精度

  • 高精度 — 高+高、高-高、高×高、高×低、高÷低、高%低

简单数学

简单排序

  • 排序算法 — 选择排序、冒泡排序、插入排序、计数排序、sort() 函数

简单数据结构

动态数组

  • vector — 动态数组基础使用

C++ 进阶语法


算法基础

线性优化技巧

  • 前缀和与差分 — 一维前缀和、二维前缀和、简单差分
  • 双指针 — 对撞指针、快慢指针、滑动窗口
  • ST表 — 区间最值查询(RMQ)

二分查找与二分答案

离散化

简单数论

简单组合

字符串哈希

计算几何


搜索

深度优先搜索

广度优先搜索

简单图上搜索


图论

图论基础

  • 图论基础 — 树/图的概念、邻接矩阵、邻接表、链式前向星

并查集与拓扑排序

最小生成树

最短路

  • 最短路 — Floyd、Dijkstra、Bellman-Ford、SPFA

最近公共祖先


动态规划

线性 DP

  • 基础 DP — 数字三角形、最长上升子序列(LIS)、最长公共子序列(LCS)

区间 DP

背包 DP

  • 背包 DP — 01 背包、完全背包、多重背包、分组背包

树上 DP

  • 树上 DP — 子树大小、树的直径、树的重心

数据结构

树状数组

  • 树状数组 — 基础树状数组、维护权值数组、维护差分数组、二维树状数组

线段树

  • 线段树 — 单点修改、区间加、区间和查询、区间最值查询

其他模板


33OJ 文档


课程大纲

本套文档遵循 33dai 基础语法大纲 的课程体系,分为 核心序列(Core)扩展维度(Extend) 两部分:

课程编号 课程标题 课程内容
C01-1 高级计算器 输入输出语句、int 变量
C01-2 如果那么 不带 elseif 语句
C01-3 在范围内吗 elseif 语句
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 高级控制 breakcontinueexit(0)
E01-7 一串字符 字符串
E01-8 高维结构 多维数组与结构体
E01-9 自己调用自己 简单递归、参数传引用

教学约定

详见 教学约定