ACM主要内容

1:数学
1.1:数论
1.1.1:中国剩余定理
1.1.2:欧拉函数
1.1.3:欧几里得定理                 
1.1.3.1:欧几里得定理               
1.1.3.2:扩展欧几里得               
1.1.4:大数分解与素数判定
1.1.5:佩尔方程            
1.2:组合数学
1.2.1:排列组合
1.2.2:容斥原理
1.2.3:递推关系和生成函数
1.2.4:Polya计数法
1.2.4.1:Polya计数公式
1.2.4.2:Burnside定理
1.3:计算方法
1.3.1:二分法
1.3.1.1:用矩阵加速的计算
1.3.2:迭代法
1.3.3:三分法
1.3.4:解线性方程组
1.3.4.1:LUP分解
1.3.4.2:高斯消元
1.3.5:解模线性方程组
1.3.6:定积分计算
1.3.7:多项式求根
1.3.8:周期性方程
1.3.9:线性规划
1.3.10:快速傅立叶变换
1.3.11:随机算法
1.4:构造方法
1.4.1:N皇后构造解
1.4.2:幻方的构造
1.4.3:满足一定条件的hamilton圈的构造
1.5:特殊的数
1.5.1:Catalan数
1.5.2:Stirling数
1.5.3:斐波拉契数
1.5.4:调和数
1.5.4:连分数


2:数据结构
2.1:栈,队列,链表
2.2:哈希表
2.3:堆,优先队列                        
2.3.1:左偏树
2.4:二叉查找树                          
2.4.1:Treap
2.4.2:伸展树
2.5:并查集                              
2.6:平衡二叉树
2.7:线段树                              
2.7.1:一维线段树                        
2.7.2:二维线段树
2.8:树状数组
2.8.1:一维树状数组
2.8.2:N维树状数组
2.9:字典树
2.10:后缀数组
2.11:块状链表


3:图论
3.3.:最短路径
3.3.1.:有向无环图的最短路径->拓扑排序                      
3.3.2.:非负权值加权图的最短路径->Dijkstra算法              
3.3.3.:含负权值加权图的最短路径->Bellmanford算法
3.3.4.:含负权值加权图的最短路径->Spfa算法
3.3.5.:全源最短路弗洛伊德算法Floyd                         
3.3.6.:全源最短路Johnson算法
3.3.7.:次短路径                                            
3.3.8.:第k短路径
3.3.9.:差分约束系统
3.3.10.:平面点对的最短路径(优化)
3.3.11.:双标准限制最短路径

3.4.:最大流                    
3.4.1.:增广路->Ford-Fulkerson算法                          
3.4.2.:预推流
3.4.3.:Dinic算法
3.4.4.:有上下界限制的最大流
3.4.5.:节点有限制的网络流
3.4.6.:无向图最小割->Stoer-Wagner算法
3.4.7.:有向图和无向图的边不交路径
3.4.8.:Ford-Fulkerson迭加算法
3.4.9.:含负费用的最小费用最大流
3.5.:匹配
3.5.1.:Hungary算法
3.5.2.:最小点覆盖
3.5.3.:最小路径覆盖
3.5.4.:最大独立集问题
3.5.5.:二分图最优完备匹配Kuhn-Munkras算法
3.5.6.:一般图的最大基数匹配
3.5.7.:一般图的赋权匹配问题


3.1:图
3.1.1.:广度优先遍历                     
3.1.2.:深度优先遍历
3.1.3.:拓扑排序
3.1.4.:割边割点
3.1.5.:强连通分量
3.1.5:2-SAT问题
3.1.6.:欧拉回路
3.1.7.:哈密顿回路
3.2.:最小生成树
3.2.1.:Prim算法
3.2.2.:Kruskal算法                       
3.2.3.:Sollin算法
3.2.4.:次小生成树                     
3.2.5.:第k小生成树
3.2.6.:最优比例生成树
3.2.7.:最小树形图
3.2.8.:最小度限制生成树
3.2.9.:平面点的欧几里德最小生成树
3.2.10.:平面点的曼哈顿最小生成树
3.2.11.:最小平衡生成树

5:计算几何:
5.1基本公式
5.1.1:叉乘                                                     
5.1.2:点乘
5.1.3:常见形状的面积、周长、体积公式                    
5.2:线段
5.2.1:判断两线段(一直线、一线段)是否相交                      
5.2.2:求两线段的交点                                            
5.3:多边形
5.3.1:判定凸多边形,顶点按顺时针或逆时针给出,(不)允许相邻边共线  
5.3.2:判点在凸多边形内或多边形边上,顶点按顺时针或逆时针给出     
5.3.3:判点在凸多边形内,顶点按顺时针或逆时针给出,在多边形边上返回0 
5.3.4:判点在任意多边形内,顶点按顺时针或逆时针给出
5.3.5:判线段在任意多边形内,顶点按顺时针或逆时针给出,与边界相交返回1
5.3.6:多边形重心
5.3.7:多边形切割(半平面交)
5.4:三角形
5.4.1:内心
5.4.2:外心
5.4.3:重心
5.4.4:垂心
5.4.5:费马点
5.5:圆
5.5.1:判直线和圆相交,包括相切
5.5.2:判线段和圆相交,包括端点和相切
5.5.3:判圆和圆相交,包括相切
5.5.4:计算圆上到点p最近点,如p与圆心重合,返回p本身
5.5.5:计算直线与圆的交点,保证直线与圆有交点
5.5.6:计算线段与圆的交点可用这个函数后判点是否在线段上
5.5.7:计算圆与圆的交点,保证圆与圆有交点,圆心不重合
5.5.8:计算两圆的内外公切线
5.5.9:计算线段到圆的切点
5.6:经典问题
5.6.1:平面凸包                                                      
5.6.2:三维凸包
5.6.3:Delaunay剖分/Voronoi图

1 图论 3 1.1 术语 3 1.2 独立集、覆盖集、支配集之间关系 3 1.3 DFS 4 1.3.1 割顶 6 1.3.2 桥 7 1.3.3 强连通分量 7 1.4 最小点基 7 1.5 拓扑排序 7 1.6 欧拉路 8 1.7 哈密顿路(正确?) 9 1.8 Bellman-ford 9 1.9 差分约束系统(用bellman-ford解) 10 1.10 dag最短路径 10 1.11 二分图匹配 11 1.11.1 匈牙利算法 11 1.11.2 KM算法 12 1.12 网络流 15 1.12.1 最大流 15 1.12.2 上下界的网络的最大流 17 1.12.3 上下界的网络的最小流 17 1.12.4 最小费用最大流 18 1.12.5 上下界的网络的最小费用最小流 21 2 数论 21 2.1 最大公约数gcd 21 2.2 最小公倍数lcm 22 2.3 快速幂取模B^LmodP(O(logb)) 22 2.4 Fermat小定理 22 2.5 Rabin-Miller伪素数测试 22 2.6 Pollard-rho 22 2.7 扩展欧几里德算法extended-gcd 24 2.8 欧拉定理 24 2.9 线性同余方程ax≡b(mod n) 24 2.10 中国剩余定理 25 2.11 Discrete Logging(BL == N (mod P)) 26 2.12 N!最后一个不为0的数字 27 2.13 2^14以内的素数 27 3 数据结构 31 3.1 堆(最小堆) 31 3.1.1 删除最小值元素: 31 3.1.2 插入元素和向上调整: 32 3.1.3 堆的建立 32 3.2 并查集 32 3.3 树状数组 33 3.3.1 LOWBIT 33 3.3.2 修改a[p] 33 3.3.3 前缀和A[1]+…+A[p] 34 3.3.4 一个二维树状数组的程序 34 3.4 线段树 35 3.5 字符串 38 3.5.1 字符串哈希 38 3.5.2 KMP算法 40 4 计算几何 41 4.1 直线交点 41 4.2 判断线段相交 41 4.3 三点外接圆圆心 42 4.4 判断点在多边形内 43 4.5 两圆交面积 43 4.6 最小包围圆 44 4.7 经纬度坐标 46 4.8 凸包 46 5 Problem 48 5.1 RMQ-LCA 48 5.1.1 Range Minimum Query(RMQ) 49 5.1.2 Lowest Common Ancestor (LCA) 53 5.1.3 Reduction from LCA to RMQ 56 5.1.4 From RMQ to LCA 57 5.1.5 An<O(N), O(1)> algorithm for the restricted RMQ 60 5.1.6 An AC programme 61 5.2 最长公共子序列LCS 64 5.3 最长上升子序列/最长不下降子序列(LIS) 65 5.3.1 O(n^2) 65 5.3.2 O(nlogn) 66 5.4 Joseph问题 67 5.5 0/1背包问题 68 6 组合数学相关 69 6.1 The Number of the Same BST 69 6.2 排列生成 71 6.3 逆序 72 6.3.1 归并排序求逆序 72 7 数值分析 72 7.1 二分法 72 7.2 迭代法(x=f(x)) 73 7.3 牛顿迭代 74 7.4 数值积分 74 7.5 高斯消元 75 8 其它 77
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值