-
ACM巨全模板 .pdf下载
资源介绍
看大小就知道很全啦
查看地址 https://blog.****.net/qq_43333395/article/details/98508424
目录:
数据结构:
1.RMQ (区间最值,区间出现最大次数,求区间gcd)
2.二维RMQ求区间最大值 (二维区间极值)
3.线段树模板(模板为区间加法) (线段树染色) (区间最小值)
4.线性基 (求异或第k大)
5.主席树(静态求区间第k小) (区间中小于k的数量和小于k的总和) (区间中第一个大于或等于k的值)
6.权值线段树 (求逆序对)
7.动态主席树 (主席树+树状数组) (区间第k大带修改)
8.树上启发式合并 (查询子树的优化)
9,树状数组模板 (求区间异或和,求逆序对) 扩展
10.区间不重复数字的和 (树状数组)
11.求k维空间中离所给点最近的m个点,并按顺序输出(KD树)
12.LCA (两个节点的公共父节点)
动态规划:
1.LIS (最长上升子序列)
2.有依赖的背包 (附属关系)
3.最长公共子序列(LCS)
4.树形DP
5.状压DP-斯坦纳树
6.背包
7.dp[i]=min(dp[i+1]…dp[i+k]),multset
博弈:
1.NIM博弈 (n堆每次最少取一个)
2.威佐夫博弈(两堆每次取至少一个或一起取一样的)
3.约瑟夫环
4.斐波那契博弈 (取的数依赖于对手刚才取的数)
5.sg函数
数论:
1.数论 素数检验:普通素数判别 线性筛 二次筛法求素数 米勒拉宾素数检验
2.拉格朗日乘子法(求有等式约束条件的极值)
3.裂项(多项式分子分母拆分)
4.扩展欧几里得 (ax+by=c)
5.勾股数 (直角三角形三边长)
6.斯特林公式 (n越大越准确,求n!)
7.牛顿迭代法 (求一元多次方程一个解)
8.同余定理 (a≡b(mod m))
9.线性求所有逆元的方法求 (1~p modp的逆元)
10.中国剩余定理(n个同余方程x≡a1(modp1))
11.二次剩余((ax+k)2≡n(modp)(ax+k)^2≡n(mod p)(ax+k)
2
≡n(modp))
12.十进制矩阵快速幂(n很大很大的时候)
13.欧拉函数
14.费马小定理
15.二阶常系数递推关系求解方法 (a_n=p*a_{n-1}+q*a_{n-2})
16.高斯消元
17.矩阵快速幂
18.分解质因数
19.线性递推式BM(杜教)
20.线性一次方程组解的情况
21.求解行列式的逆矩阵,伴随矩阵,矩阵不全随机数不全
组合数学:
1.循环排列 (与环有关的排列组合)
计算几何:
1.三角形 (求面积))
2.多边形
3.三点求圆心和半径
4.扫描线 (矩形覆盖求面积) (矩形覆盖求周长)
5.凸包 (平面上最远点对)
6.求凸多边形的直径
7.求凸多边形的宽度
8.求凸多边形的最小面积外接矩形
9.半平面交
图论:
基础:前向星
1.最短路(优先队列dijkstra)
2.判断环(tarjan算法)
3.最小生成树(Kruskal 模板)
4.最小生成树(Prim)
5.Dicnic最大流(最小割)
6.无向图最小环(floyd)
7.floyd算法的动态规划(通过部分指定边的最短路)
8.图中找出两点间的最长距离
9.最短路 (spfa)
10.第k短路 (spfa+A*)
11.回文树模板
12.拓扑排序 (模板)
13.次小生成树
14.最小树形图(有向最小生成树)
15.并查集 (普通并查集,带权并查集,)
16.求两个节点的最近公共祖先 (LCA)
17.限制顶点度数的MST(k度限制生成树)
18.多源最短路(spfa,floyd)
19.最短路 (输出字典序最小)
20.最长路
图论题目简述
字符串:
1.字典树(多个字符串的前缀)
2.KMP(关键字搜索)
3.EXKMP(找到S中所有P的匹配)
4.马拉车(最长回文串)
5.寻找两个字符串的最长前后缀(KMP)
6.hash(进制hash,无错hash,多重hash,双hash)
7.后缀数组 (按字典序排字符串后缀)
8.前缀循环节(KMP的fail函数)
9.AC自动机 (n个kmp)
10.后缀自动机
小技巧:
1.关于int,double强转为string
2.输入输出挂
3.低精度加减乘除
4.一些组合数学公式
5.二维坐标的离散化
6.消除向下取整的方法
7.一些常用的数据结构 (STL)
8.Devc++的使用技巧
9.封装好的一维离散化
10.Ubuntu对拍程序
11.常数
12.Codeblocks使用技巧
13.java大数
叮嘱
共173页