信息学奥林匹克竞赛涉及到的数学知识

前言

你是否听到过这种声音:

学这破东西有什么用,高考考吗?

或者是这样:

学好数理化,走遍天下都不怕!

本文将叫你怎样反击:

你只需要说,学OI不论年龄三年都会掌握下面的知识:

数学离散数学集合论 关系 代数系统 数理逻辑 图论

组合数学排列组合 母函数 群论 递推与递归 莫比乌斯反演

数学线性规划 动态 整数

高等数学向量 行列式与矩阵 微积分初步

概率统计

初等数论素数 整数理论 同余与模线性方程

计算几何

数据结构存储结构线性表

(一级结构)静态:数组 栈 队列 广义表 字符串

动态:指针链表 动态数组

(二级结构)表示法(静态、动态) 二叉树 森林

(三级结构)表示法(矩阵、邻接表、三元组)

特殊结构散列表(HASH表) 并查集 线段树 后缀树 哈夫曼树与哈夫曼编码 地址表Bit图 滚动数组 棋盘图 边顶置换图 二分点图(网络流)

常用方法遍历树 图 前/中/后序优先

转化拓扑排序(三级结构转一级结构) 最小生成树 最小树形图(三级结构转二级结构) 逆遍历

压缩路径树的线索化

压缩存储

查找线性直接 折半Fab

树形二叉查找树 平衡二叉树B+树B-树 线索二叉树索引表

排序插入排序直接排序、折半排序、2-路排序

交换排序冒泡排序 快速排序 归并排序

堆排序

基数排序链式基数排序 桶排序

代码素养代码的编写速度和准确性 误码率

算法实现

算法优化

调试 查错 测试

习惯变量名 注释 缩进 模块化

基本算法数学高精度计算(模拟计算)

表达式处理括号 前/中/后缀表达式 表达式树

排列组合求值 嵌套控制

高斯消元法

快速傅里叶变换(FFT)

筛选素数素数表

分数处理

基本操作实现大量数据赋值与移动Fillchar fillword move等函数

处理实数比较大小 高精度

字符串处理基本函数KMP算法

图论

(显示图搜索)路径问题

(边集)连通性测试传递闭包算法 极大强连通子图 最小点基

最短路问题标号法 第k小路 减半最短路Dijkstra算法floyd算法bellman-ford算法Warshall算法

特殊路径欧拉路及回路 哈密尔顿路及回路

图的中心和重心

生成树Kruskal算法Prim算法

(顶点集)覆盖集

独立集

支配集

割顶和块

网络流容量有上下界的网络最大/ 小流

容量有上下界的网络最小费用最大/ 小流

顶容量网络最大流

供求约束可行流

二分图匹配匈牙利算法

关键路径

搜索

(隐式图搜索)深度优先搜索

(回溯法)剪枝优化

预处理

记忆化搜索

可变下界的深度优先搜索

随机化搜索

广度优先搜索双向广搜*多向广搜

启发式搜索(A算法)

分枝定界

多阶段决策贪心算法

背包动态规划

棋盘动态规划

划分动态规划

区间动态规划

树形动态规划

状态压缩型动态规划

其他构造法穷举

模拟

好多东西都是部分大学的数学专业才学到的,计算机专业也几乎是浑浑噩噩的学。

某些家长看到这里已经开始犹豫了,我告诉你们:
不要报少儿编程!!!

我不想为自己创建竞争对手,但是三年级就可以直接学C++,然后参加CSP,参加NOIP、NOI、IOI。最后保送。

posted @ 2024-08-17 14:32  mcr130102  阅读(46)  评论(0编辑  收藏  举报
请不要抄袭任何人的博客,这是对一名开发者最基本的尊重。