ACMICPC代码库大全:图论、网络流、数据结构、数论、计算几何等
需积分: 31 133 浏览量
更新于2024-09-19
2
收藏 651KB PDF 举报
ACMICPC代码库
本资源库由吉林大学计算机科学与技术学院2005级学生创建,旨在提供一个涵盖广泛的算法和数据结构库,供 ACM/ICPC 竞赛选手和计算机科学爱好者参考和学习。
**Graph 图论**
* DAG 的深度优先搜索标记
* 无向图找桥
* 无向图连通度(割)
* 最大团问题 DP + DFS
* 欧拉路径 O(E)
* DIJKSTRA 数组实现 O(N^2)
* DIJKSTRA O(E\*LOGE)
* BELLMANFORD 单源最短路 O(VE)
* SPFA(SHORTEST PATH FASTER ALGORITHM)
* 第 K 短路(DIJKSTRA)
* 第 K 短路(A\*)
* PRIM 求 MST
* 次小生成树 O(V^2)
* 最小生成森林问题(K 颗树) O(MLOGM)
* 有向图最小树形图
* MINIMAL STEINER TREE
* TARJAN 强连通分量
* 弦图判断
* 弦图的 PERFECT ELIMINATION 点排列
* 稳定婚姻问题 O(N^2)
* 拓扑排序
* 无向图连通分支(DFS/BFS 邻接阵)
* 有向图强连通分支(DFS/BFS 邻接阵) O(N^2)
* 有向图最小点基(邻接阵) O(N^2)
* FLOYD 求最小环
* 2-SAT 问题
**Network 网络流**
* 二分图匹配(匈牙利算法 DFS 实现)
* 二分图匹配(匈牙利算法 BFS 实现)
* 二分图匹配(HOPCROFT-CARP 的算法)
* 二分图最佳匹配(KUHN MUNKRAS 算法 O(M*M*N))
* 无向图最小割 O(N^3)
* 有上下界的最小(最大)流
* DINIC 最大流 O(V^2 \* E)
* HLPP 最大流 O(V^3)
* 最小费用流 O(V \* E \* F)
* 最小费用流 O(V^2 \* F)
* 最佳边割集
* 最佳点割集
* 最小边割集
* 最小点割集(点连通度)
* 最小路径覆盖 O(N^3)
* 最小点集覆盖
**Structure 数据结构**
* 求某天是星期几
* 左偏树 合并复杂度 O(LOG N)
* 树状数组
* 二维树状数组
* TRIE 树(K 叉)
* TRIE 树(左儿子又兄弟)
* 后缀数组 O(N \* LOG N)
* 后缀数组 O(N)
* RMQ 离线算法 O(N\*LOGN)+O(1)
* RMQ(RANGE MINIMUM/MAXIMUM QUERY)-ST 算法(O(NLOGN + Q))
* RMQ 离线算法 O(N\*LOGN)+O(1)求解 LCA
* LCA 离线算法 O(E)+O(1)
* 带权值的并查集
* 快速排序
* 2 台机器工作调度
* 比较高效的大数
* 普通的大数运算
* 最长公共递增子序列 O(N^2)
* 0-1 分数规划
* 最长有序子序列(递增/递减/非递增/非递减)
* 最长公共子序列
* 最少找硬币问题(贪心策略-深搜实现)
* 棋盘分割
* 汉诺塔
* STL 中的 PRIORITY_QUEUE
* 堆栈
* 区间最大频率
* 取第 K 个元素
* 归并排序求逆序数
* 逆序数推排列数
* 二分查找
* 二分查找(大于等于 V 的第一个值)
* 所有数位相加
* 吉林大学 ACM Group
**Number 数论**
* 递推求欧拉函数 PHI(I)
* 单独求欧拉函数 PHI(X)
* GCD 最大公约数
* 快速 GCD
* 扩展 GCD
* 模线性方程 A \* X = B (% N)
* 模线性方程组
* 筛素数 [1..N]
* 高效求小范围素数 [1..N]
* 随机素数测试(伪素数原理)
* 组合数学相关
* POLYA 计数
* 组合数 C(N, R)
* 最大 1 矩阵
* 约瑟夫环问题(数学方法)
* 约瑟夫环问题(数组模拟)
* 取石子游戏 1
* 集合划分问题
* 大数平方根(字符串数组表示)
* 大数取模的二进制方法
* 线性方程组 A[][]X[]=B[]
* 追赶法解周期性方程
* 阶乘最后非零位,复杂度 O(NLOGN)
**递归方法求解排列组合问题**
* 类循环排列
* 全排列
* 不重复排列
* 全组合
* 不重复组合
* 应用
**模式串匹配问题总结**
* 字符串 HASH
* KMP 匹配算法 O(M+N)
* KARP-RABIN 字符串匹配
* 基于 KARP-RABIN 的字符块匹配
* 函数名: STRSTR
* BM 算法的改进的算法 SUNDAY ALGORITHM
* 最短公共祖先(两个长字符串)
* 最短公共祖先(多个短字符串)
**Geometry 计算几何**
* GRAHAM 求凸包 O(N \* LOGN)
* 判断线段相交
* 求多边形重心
* 三角形几个重要的点
* 平面最近点对 O(N \* LOGN)
* LIUCTIC 的计算几何库
* 求平面上两点之间的距离
* (P1-P0)\*(P2-P0)的叉积
* 确定两条线段是否相交
* 判断点 P 是否在线段 L 上
* 判断两个点是否相等
* 线段相交判断函数
* 判断点 Q 是否在多边形内
* 计算多边形的面积
* 解二次方程 AX^2+BX+C=0
* 计算直线的一般式 AX+BY+C=0
* 点到直线距离
* 直线与圆的交点,已知直线与圆相交
* 射线与圆的第一个交点
* 求点 P1 关于直线 LN 的对称点 P2
* 两直线夹角(弧度)
* 射线与圆的交点
* 点是否在射线的正向
* 射线与圆的第一个交点
**ACM/ICPC 竞赛之 STL**
* ACM/ICPC 竞赛之 STL 简介
* ACM/ICPC 竞赛之 STL--PAIR
* ACM/ICPC 竞赛之 STL--VECTOR
* ACM/ICPC 竞赛之 STL--ITERATOR 简介
* ACM/ICPC 竞赛之 STL--STRING
* ACM/ICPC 竞赛之 STL--STACK/QUEUE
* ACM/ICPC 竞赛之 STL--MAP
* ACM/ICPC 竞赛之 STL--ALGORITHM
* STL IN ACM
* 头文件
* 线段树
* 求矩形并的面积(线段树+离散化+扫描线)
* 求矩形并的周长(线段树+离散化+扫描线)
2015-03-28 上传
2022-10-25 上传
2023-09-23 上传
2024-05-08 上传
2023-09-04 上传
2023-09-23 上传
2024-04-16 上传
2023-11-05 上传
2024-05-08 上传
静革justme0.com
- 粉丝: 145
- 资源: 8
最新资源
- 批量文件重命名神器:HaoZipRename使用技巧
- 简洁注册登录界面设计与代码实现
- 掌握Python字符串处理与正则表达式技巧
- YOLOv5模块改进 - C3与RFAConv融合增强空间特征
- 基于EasyX的C语言打字小游戏开发教程
- 前端项目作业资源包:完整可复现的开发经验分享
- 三菱PLC与组态王实现加热炉温度智能控制
- 使用Go语言通过Consul实现Prometheus监控服务自动注册
- 深入解析Python进程与线程的并发机制
- 小波神经网络均衡算法:MATLAB仿真及信道模型对比
- PHP 8.3 中文版官方手册(CHM格式)
- SSM框架+Layuimini的酒店管理系统开发教程
- 基于SpringBoot和Vue的招聘平台完整设计与实现教程
- 移动商品推荐系统:APP设计与实现
- JAVA代码生成器:一站式后台系统快速搭建解决方案
- JSP驾校预约管理系统设计与SSM框架结合案例解析