信息学竞赛知识点


注:带有‘*’为NOI级,过于简单的不再收录

计算机基础与编程环境

C++程序设计

基本运算

逻辑运算:与或非

变量自增与自减运算

三目运算

位运算

指针类型

STL模板应用

栈(stack)、队列(queue)、链表(list)、向量(vector)等容器

set集合、多重集合(multiset)

双端队列(deque)、优先队列(priority_queue)

映射(map)多重映射(multimap)

对(pair)、元组(tuple)

*容器(containers)、迭代器(iterators)、配接器(adapters)、空间配置器(allocators)、仿函数(functors)

*面向对象的程序设计思想

数据结构

线性表

链表:单链表、双向链表、循环链表

队列

线性结构

双端栈

双端队列

有序队列

优先队列

倍增表(ST表)

*分块

*块状链表

树:简单树、特殊树

树与二叉树定义、表示、遍历

哈夫曼树定义、构造及其遍历

二叉排序树定义、构造及其遍历

线段树

树状数组

字典树

笛卡尔树

二叉平衡树AVL、treap、splay

基环树

*树链剖分

*可持久化线段树(主席树)

*二维线段树

*后缀树

*树套树

*KD树

*最小树形图

*动态树(LCT)

集合与森林

等价类

并查集

树与二叉树的转化——孩子兄弟表示法

简单图、常见图

图定义及其相关概念、邻接矩阵、邻接表存储

稀疏图

偶图(二分图)

欧拉图

有向无环图

连通图与强连通图

重连通图

哈希表

数值哈希函数构造

排列哈希函数构造

字符哈希函数构造

哈希函数冲突的常用解决办法

*序列

*后缀数组

*跳跃表

*无线树的Prufer序列

*可合并堆

*左偏树

*二项堆

算法

概念与描述

复杂度分析:时间与空间

*算法策略

*复杂分治思想

*平衡规划思想

*构造思想

枚举与模拟

基础算法

贪心

递推

二分

倍增

分治

高精:加减乘以及整数除以单精度整数的商和余数

排序

基本概念:...稳定性等

冒泡排序、选择排序、插入排序

归并排序、快速排序、桶排序

堆排序、树形选择排序、基数排序

图论算法

图的深度优先遍历、宽度优先遍历

洪水填充算法(floodfill)

最小生成树(Prim和kruskal等)

求次小生成树

Dijkstra、bellman_ford、SPFA单源最短路

单源次短路

Floyed-Warshall算法求任意两点间的最短路和传递闭包

有向无环图的拓扑排序算法

求欧拉道路和欧拉回路算法

二分图的构造及其判定算法

最近公共祖先(LCA)

求强联通分量算法(Tatjan)

强连通分量的缩点算法

求割点、割边算法

*网络流算法

*图的支配集、独立集与覆盖集

*二分图的最大匹配——匈牙利算法

*二分图的最佳匹配算法——KM算法

*一般图的匹配

动态规划

求解原理

背包类型

线性DP

区间DP

树形DP

数位DP

状态压缩DP

插头DP

动态规划的常用优化

*复杂动态规划模型构建与优化

字符串相关

KMP

*求最长回文串的Manacher算法

*AC自动机

*扩展KMP——求字符串前缀和后缀

*确定性又穷自动机——DFA算法

*非确定性有穷自动机——NFA算法

*后缀自动机

搜索算法

搜索的剪枝优化

记忆化搜索

启发式搜索

双向宽度优先搜索

迭代加深搜索

搜索对象的压缩存储

数学

进制及其转换

编码

ASCII码

哈夫曼编码

格雷码

初等数论

整数、因数、倍数、指数、素数、合数、同余概念

唯一分解定理

欧几里得算法(辗转相除法)

埃式筛法和线性筛法求素数

同余式

欧拉定理和欧拉函数

费马小定理

威尔逊定理

裴蜀定理

逆元

扩展欧几里得算法

孙子定理(中国剩余定理)

*原根和指数

*大步小步算法BSGS

*完全数

*狄利克雷卷积

*平方剩余

*二次同余式

*二次互反律

组合数学

加法原理乘法原理

排列组合及计算公式

杨辉三角公式

可重集排列组合

错排列、圆排列

鸽巢原理

二次项定理

容斥原理

卡特兰数

*母函数

*莫比乌斯变换

*Bumside引理与Polya原理

*斯特林数

高中数学

代数

解析几何

立体几何

线性代数

矩阵概念

特殊矩阵:稀疏,三角,对称

矩阵的初等变换

矩阵的加减乘和转置算法

线性方程组的高斯消元法

*矩阵的逆运算

*行列式及其运算

*线性相关与矩阵的逆

*信息论基础

*熵、互信息、条件熵、相对熵的基本概念

*信息复杂度的基本概念

*描述复杂度的基本概念

*通讯复杂度的基本概念

*离散数学

*代数系统的基本概念

*群的基本概念

*置换群与循环群

*高等数学

*多项式函数微分

*多项式函数积分

*泰勒级数

*快速傅里叶变换

*卷积

*概率论

*概率相关概念

*求概率的乘法公式、全概率公式、贝叶斯公式

*博弈论

*零和博弈问题——Nim博弈等

*Sprague-Garundy(SG)函数概念及应用

*运筹学

*线性规划之单纯形法

*计算几何

*矢量及其运算

*点线面之间的位置判断

*常见的图形面积计算

*二维凸包的求法及其应用

*半平面交