ACM算法模板大全:涵盖数论、图论与几何

3星 · 超过75%的资源 需积分: 28 15 下载量 85 浏览量 更新于2024-07-29 3 收藏 1.46MB DOC 举报
ACM算法模板是一份全面的编程工具集,专为参加国际大学生程序设计竞赛(ACM)的选手提供高效解决方案。这份模板涵盖了多个核心领域的算法,包括数论、图论、几何以及特定的数据结构技术,如树状数组、后缀树和字典树等。它由黄伟编著,于2008年发布在杭州电子科技大学计算机与软件学院,旨在帮助参赛者快速理解和实现常见问题的解决策略。 在模板中,重要部分分为以下几个章节: 1. 常用函数与STL:这部分提供了标准库函数的集合,便于处理数据输入输出、容器操作、算法实现等基本需求,如字符串处理、数学运算等。 2. 重要公式与定理:涉及到数论中的经典概念,如斐波那契数列、卢卡斯数列、卡特兰数、斯特林数(第二类)、贝尔数等,以及数学上的斯特林近似、倒数和的求和、杨表等。数论公式涵盖欧拉函数、费马小定理、费马-威尔逊定理等基础知识。 3. 大数模板与字符读入:针对大数计算的问题,提供了一套处理高精度数值的方法,同时介绍如何正确读取字符以支持不同格式的数据输入。 4. 数论算法:深入探讨了诸如最大公约数、素数判定、素数筛法、模逆元、扩展欧几里得算法、模线性方程和中国剩余定理等关键数论问题。此外,还包括了欧拉函数的应用、费雷序列的构造、素数测试和因式分解等高级技巧。 5. 图论算法:这部分是模板的核心内容,涉及多种经典算法,如最小生成树(Kruskal和Prim算法)、单源最短路径(Bellman-Ford和Dijkstra算法)、全源最短路径(Floyd算法)、拓扑排序、网络流问题(预流、最大流和最小费用最大流)、最大团、匹配问题(匈牙利算法、Hopcroft-Karp算法和KM算法)以及连通性分析(强连通分量算法)。 6. 几何算法:为了解决几何问题,提供了模板和基础计算方法,如球面两点间的最短距离、三点确定圆心的坐标计算,以及三角形相关属性的求解。 这份模板不仅包含了理论知识,还注重实际应用,使参赛者能够迅速构建有效的算法来应对比赛中的复杂题目。无论是对于初学者还是经验丰富的选手,它都是提升编程效率和竞赛竞争力的强大工具。通过理解和熟练掌握这些算法和数据结构,参赛者可以更好地应对ACM竞赛中的挑战。
2018-04-19 上传
ACM 算法模板集 Contents 一. 常用函数与STL 二. 重要公式与定理 1. Fibonacci Number 2. Lucas Number 3. Catalan Number 4. Stirling Number(Second Kind) 5. Bell Number 6. Stirling's Approximation 7. Sum of Reciprocal Approximation 8. Young Tableau 9. 整数划分 10. 错排公式 11. 三角形内切圆半径公式 12. 三角形外接圆半径公式 13. 圆內接四边形面积公式 14. 基础数论公式 三. 大数模板,字符读入 四. 数论算法 1. Greatest Common Divisor最大公约数 2. Prime素数判断 3. Sieve Prime素数筛法 4. Module Inverse模逆元 5. Extended Euclid扩展欧几里德算法 6. Modular Linear Equation模线性方程(同余方程) 7. Chinese Remainder Theorem中国余数定理(互素于非互素) 8. Euler Function欧拉函数 9. Farey总数 9. Farey序列构造 10. Miller_Rabbin素数测试,Pollard_rho因式分解 五. 图论算法 1. 最小生成树(Kruscal算法) 2. 最小生成树(Prim算法) 3. 单源最短路径(Bellman-ford算法) 4. 单源最短路径(Dijkstra算法) 5. 全源最短路径(Folyd算法) 6. 拓扑排序 7. 网络预流和最大流 8. 网络最小费用最大流 9. 网络最大流(高度标号预流推进) 10. 最大团 11. 二分图最大匹配(匈牙利算法) 12. 带权二分图最优匹配(KM算法) 13. 强连通分量(Kosaraju算法) 14. 强连通分量(Gabow算法) 15. 无向图割边割点和双连通分量 16. 最小树形图O(N^3) 17. 最小树形图O(VE) 六. 几何算法 1. 几何模板 2. 球面上两点最短距离 3. 三点求圆心坐标 4. 三角形几个重要的点 七. 专题讨论 1. 树状数组 2. 字典树 3. 后缀树 4. 线段树 5. 并查集 6. 二叉堆 7. 逆序数(归并排序) 8. 树状DP 9. 欧拉路 10. 八数码 11. 高斯消元法 12. 字符串匹配(KMP算法) 13. 全排列,全组合 14. 二维线段树 15. 稳定婚姻匹配 16. 后缀数组 17. 左偏树 18. 标准RMQ-ST 19. 度限制最小生成树 20. 最优比率生成树(0/1分数规划) 21. 最小花费置换 22. 区间K大数 23. LCA - RMQ-ST 24. LCA – Tarjan 25. 指数型母函数 26. 指数型母函数(大数据) 27. 单词前缀树(字典树+KMP) 28. FFT(大数乘法) 29. 二分图网络最大流最小割 30. 混合图欧拉回路 31. 无源汇上下界网络流 32. 二分图最小点权覆盖 33. 带约束的轨道计数(Burnside引理) 34. 三分法求函数波峰 35. 单词计数,矩阵乘法 36. 字符串和数值hash 37. 滚动队列,前向星表示法 38. 最小点基,最小权点基