ACM模版

本文全面涵盖了算法与数据结构的各个领域,包括STL标准模版库、数论、字符串处理、图论、网络流、数据结构、计算几何及其他相关知识。深入探讨了如欧拉函数、FFT、KMP算法、Dijkstra算法、最大流算法等核心概念,为读者提供了丰富的编程技巧和算法知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

STL 标准模版库

  1. STL 简介
  2. STL pair
  3. STL set
  4. STL vector
  5. STL string
  6. STL stack
  7. STL queue
  8. STL map
  9. STL bitset
  10. STL iterator简介
  11. STL algorithm

Number 数论

  1. 欧拉函数PHI
  2. GCD 修改 2018.6.1
  3. 线性方程组(高斯消元)
  4. 模线性方程(组)
  5. 素数相关
  6. 合数相关
  7. 组合数学相关
  8. Polya计数
  9. 最大1矩阵
  10. 约瑟夫环问题
  11. 博弈论
  12. 周期性方程
  13. 阶乘
  14. 排列组合
  15. 求逆元
  16. FFT
  17. FWT
  18. 整数划分
  19. A^B约数之和
  20. 莫比乌斯反演
  21. Baby-Step Giant-Step
  22. simpson积分
  23. 多项式求根
  24. 星期问题
  25. 汉诺塔
  26. 斐波那契数列
  27. 1/n循环节长度
  28. 矩阵相关
  29. 反素数
  30. 容斥
  31. 母函数
  32. 数论相关公式

String 字符串

  1. 编辑距离
  2. KMP算法
  3. 扩展KMP
  4. 最短公共祖先
  5. Karp-Rabin算法
  6. Manacher最长回文子串
  7. strstr函数
  8. Sunday Algorithm
  9. AC自动机
  10. 后缀数组
  11. 后缀自动机
  12. 字符串 HASH

Graph 图论

  1. 最短路
  2. 第K短路
  3. 最小生成树(森林)
  4. 次小生成树
  5. 曼哈顿最小生成树
  6. 欧拉路径
  7. DAG的深度优先搜索标记
  8. 图的割点、桥和双连通分支的基本概念
  9. 无向图找桥
  10. 无向图连通度(割)
  11. 最大团问题
  12. 最小树形图
  13. 一般图匹配带花树
  14. LCA
  15. 生成树计数
  16. 有向图最小树形图
  17. 有向图的强连通分量
  18. 双连通分支
  19. 弦图判断
  20. 弦图的PERFECT ELIMINATION点排列
  21. 稳定婚姻问题
  22. 拓扑排序
  23. 无向图连通分支
  24. 有向图强连通分支
  25. 有向图最小点基
  26. Floyd求最小环
  27. 2-SAT
  28. 树的重心

Network 网络流

  1. 二分图匹配相关
  2. 无向图最小割
  3. 最大流
  4. 最小费用流
  5. 有上下界的流
  6. 最佳边割集
  7. 最佳点割集
  8. 最小边割集
  9. 最小点割集
  10. 最小覆盖问题

Structure 数据结构

  1. 划分树
  2. 左偏树
  3. 线段树
  4. 伸展树
  5. 动态树
  6. 主席树
  7. Trie树
  8. Treap
  9. RMQ
  10. 树链剖分
  11. 二分查找 修改 2018.5.8
  12. 树状数组
  13. 滚动数组
  14. 逆序数
  15. 并查集 修改 2018.5.11
  16. 快排
  17. 机器工作调度
  18. 大数运算 修改 2018.5.11
  19. 取第k个元素
  20. 最长公共递增子序列
  21. 0-1分数规划
  22. 最长有序子序列
  23. 最长公共子序列
  24. 最少找硬币问题
  25. 棋盘分割
  26. 区间最大频率
  27. 堆栈
  28. 莫队算法
  29. 背包相关
  30. 使序列有序的最少交换次数

Geometry 计算几何

  1. Graham求凸包
  2. 判断线段相交
  3. 判断四点共面
  4. 判断线段与圆是否相交
  5. 求多边形重心
  6. 三角形相关重点
  7. 平面最近点对
  8. 旋转卡壳
  9. 半平面交
  10. 计算几何相关公式
  11. Liuctic计算几何库

Other 其他

  1. 数据类型的取值范围
  2. 输入输出外挂总结
  3. 解决爆栈,手动加栈

 

转自:

https://blog.youkuaiyun.com/f_zyj/article/details/51594851

看大小就知道很全啦 查看地址 https://blog.youkuaiyun.com/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页
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值