备注其一:正在整理中,内容不全,部分代码测试次数较少或还未在OJ上尝试,可能会有代码不健全的情况发生。

备注其二:部分图片来自百度百科、wiki百科。

备注其三:CSDN一天只能上传十篇blog...只能慢慢传了。

备注其四:中间修改了(咕咕咕)了好长时间,目录又发生了一些变化。。。

友情链接:https://blog.csdn.net/Adolphrocs/article/details/82794494。

目录

Number Theory(数论)

扩展欧几里得

递归实现

递推实现

得到(0, mod]之间最小同余整数

得到[-mod, 0)之间最大同余整数

一元线性同余方程(Linear Congruence Equation)

多元一次不定方程(丢番图方程)求解

中国剩余定理 (Chinese Remander Theorem, CRT)

扩展中国剩余定理 (扩展CRT)

勾股数组

本源勾股数组枚举方法(其一)

本源勾股数组枚举方法(其二)

相关性质

寻找最小数为奇数的勾股数组的快速方法

已知一条直角边构造勾股数组

费马大定理 (Le dernier théorème de Fermat)

费马小定理 (Fermat's little theorem)

欧拉定理

扩展欧拉定理

卡迈克尔函数

卡迈克尔数

取模逆元(模反元素)

互素情形

非互素情形

欧拉线性筛素数法

威尔逊定理

最小质因子

欧拉线性筛打表实现

Miller-Rabin Primality Test(米勒-罗宾随机素性测试)

静态素数证据表实现(非随机数实现)

使用Java大数类判断素数

欧拉函数

质因数分解实现(适用于单次求值)

打表实现

欧拉函数的性质

σ因数和函数

整数分拆

杜教筛

斐波那契数列

定义

前缀和性质

广义斐波那契数列 (Generalizations of Fibonacci numbers)

卢卡斯数列

卢卡斯定理

推论

Numerical Methods(数值方法)

表达式重构解决有效数字缺失问题

高精度平方根

牛顿迭代法实现

Gauss(高斯)消元法

整数快速模幂法(逐次平方法)

三分法

模拟退火

Combinatorics(组合数学)

康托展开

Catalan Number (卡特兰数)

通项公式

递推关系

渐进关系

相关问题

卡特兰数扩展问题

字典序下一个排列

STL内置函数

范德蒙恒等式

推论

杨辉恒等式

纵向递推式

横向递推式

对称表达式

组合聚合性恒等式

推论

二项式定理

推论

多重集合排列数

无限多重集

有限多重集

多重集合组合数

无限多重集

有限多重集

错排公式

Data Structure(数据结构)

有向树

Segment Tree (线段树)

K-D Tree(K维树)

Binary Indexed Tree(Fenwick Tree,树状数组)

二维树状数组【待补充初始化函数】

AVL Tree

Red Black Tree(红黑树)

Trie (字典树)

Static Naïve implementation(静态数组实现)

Map and Vector implementation(STL实现)

Class Implementation Using map and vector

Interval Tree(区间树)

Chtholly Tree(珂朵莉树)【简化版区间树+STL map】

Naïve Implementation(简单实现)

Efficient Implementation(高效实现)

树链剖分

块状链表

舞蹈链 (DLX, Dancing Links)

可持久化线段树

可持久化块状数组

可持久化字典树

可持久化平衡树

Graph (图)

Topological sort(拓扑排序)

最小字典序拓扑排序

Floyd判圈算法 (Floyd Cycle Detection Algorithm)

差分约束系统【待验证】

仙人掌图

无权二分图匹配

匈牙利算法 (Hungary Algorithm)

Hopcroft-Karp算法

二分图最大独立集与最大团

带权二分图匹配

EK算法

Shortest Path(最短路)

Dijkstra’s algorithm

SPFA【注:计数部分有待测试】

Floyd-Warshall Algorithm

次短路

改版Dijkstra algorithm解决

网络流

最大流

最小割

Tree(树)

Euler tour(树的欧拉遍历序列)

完全二叉树判断

斯坦纳树

最小生成树

String(字符串)

Levenshtein距离(编辑距离)

LCS(最长公共子序列)距离

Jaro距离

汉明距离

Damerau-Levenshtein距离

Brute Force Pattern Search(暴力匹配)

KMP (Knuth Morris Pratt) Pattern Searching

拼接串(KMP应用)

Manacher Algorithm(线性最长回文子串算法)

Z algorithm【待测试】

Rabin-Karp Algorithm(字符串Hash)

ELFHash

Pattern Searching in Finite Automata(有限状态自动机模式匹配)

Boyer Moore Algorithm(BM算法)

Bad Character Heuristic implementation (occurrence heuristic)

Good Suffix Heuristic implementation (match heuristic)

Using both bad and good heuristic(同时使用上面两种信息)

Boyer-Moore-Galil implementation(最差时具有线性复杂度)

Aho-Corasick Algorithm(AC自动机)

Trie图

Fail树 (Fail Tree)

后缀数组 (Suffix Array)

倍增构造法

DC3线性构造法

正则表达式【部分比赛环境无法使用】

常用表达式查询表

C语言中使用正则表达式

高精度

BigInteger(高精度整数)

C++版本

Java版本常用方法说明

BigDecimal(高精度小数)

C++版本

Java版本常用方法说明

分数类

复数类

选择

二类划分(Partition)【待测试】

median-of-three版本

指定枢轴值版本

区间k小/大元

排序解决

使用小/大顶堆解决

带旋转的Treap解法

分块法

划分树解法

主席树解法

BFPRT算法(中位数之中位数算法, Median of medians)

整体二分

CDQ分治

查找

二分法

lower bound implementation

upper bound implementation

搜索

DFS

BFS

同权值结点一次性出队的方法

双向BFS

meet-in-median

A* Algorithm(A*算法)

IDA (Iterative Deeping A)

IDA* (Iterative Deeping A*)

动态规划 (Dynamic Programming)

最长上升子序列 (Longest Increasing Sequence, LIS)

最大和值最长上升子序列 (Maximum Sum Increasing Subsequence, MSIS)

最长下降子序列 (Longest Decreasing Sequence, LDS)

最长非连续回文子序列 (Longest Palindrome Substring, LPS)

最长公共子序列 (Longest Common Subsequence, LCS)

最长重复子序列 (Longest Repeated Subsequence, LRS)

最短编辑距离 (Shortest Edit Distance)

最大连续子段和 (Maximum Subarray Sum, MSS)

0/1 背包

谜题与技巧 (Puzzles and Tricks)

投掷鸡蛋问题 (Dropping Egg Puzzle)

骨牌覆盖问题 (Tiling Problem)

n * 2地图用1 * 2骨牌覆盖(可旋转)

n * 3地图用1 * 2骨牌覆盖(可旋转)

n * 2地图用1 * 2骨牌和2 * 2骨牌覆盖(可旋转)

n * 4地图用1 * 2骨牌覆盖(可旋转)

n * m地图用1 * 2骨牌覆盖(可旋转)

n * m地图用1 * 2和1 * 1骨牌覆盖(可旋转)

约瑟夫问题 (Josephus problem)

扩展约瑟夫问题 (Enhanced Josephus problem)

阶乘因数计数

差分

前缀和与后缀和

一维前缀和与后缀和

二维前缀和与后缀和

n维前缀和与后缀和

树形前缀和

尺取法

莫队算法 (Mo’s Algorithm)

井字棋博弈 (Tic-Tac-Toe Game)

博弈

MiniMax算法(极小化极大化算法,MM算法)

α-β剪枝

策梅洛定理 (Zermelo's theorem)

Nim游戏

SG函数与SG定理

贝亚蒂定理 (Beatty Sequence)

威佐夫博弈

生成和构造 (Generating and Construction)

幻方构造

格雷码 (Gray Code)

黄金分割比

Java高精度版

常数π生成

一般方法

数值方法

常数e生成

Calendar(日历)

公历瑞年判断与计数

判断规则

计数方法

Zeller formula (蔡勒公式)【待测试】

儒略历时期公式

集合

闵可夫斯基和

平面几何

实用函数

平方函数

符号函数

误差修正

精度

-0修正

符号函数

等于误差修正

比较误差修正

定义域修正

二维向量类(平面点类)

基向量旋转公式

浮点向量类

整数向量类

角度

角度弧度换算

距离

Euclidean Distance(欧氏距离)

Manhattan Distance(曼哈顿距离)

Chebyshev Distance(切比雪夫距离)

二维线性变换(2D Linear Transformation)

旋转

90°旋转

缩放

正交投影(Orthogonal projection)

镜像

剪切(shear)

线段 (Segment)

点到直线距离

点到线段距离

线段到线段距离

点在直线上的投影(垂足)

过一点作直线的垂线

直线平行判断

判断点是否在直线上

判断点是否在线段上

判断点是否在射线上

直线相交检测

射线相交检测

线段相交检测

线段与线段交点

直线法向平移

三角形

三角形面积

四边形

四边形面积

多边形 (Polygon)

数据类型

判断点是否在多边形内

半平面交

圆 (Circle)

数据类型

圆与直线交点

圆与圆交点【Note: 证明有待补充】

点阵

水平翻转

竖直翻转

顺时针旋转90°

顺时针旋转180°

逆时针旋转90°

凸包

Graham Scan Method

单调链法

分治法

Akl-Toussaint heuristics method

三维几何

混合积(Triple Product)

三维向量类(三维点类)

罗德里格旋转公式

三维线性变换(3D Linear Transformation)

旋转

缩放

正交投影(Orthogonal projection)

镜像

剪切(shear)

平行六面体

平行六面体体积

I/O

Fast cin/cout

Fast I/O class

EOF Valid Version

Basic Input Version

附录A-100以内阶乘(factorials)

附录B-2的100以内次幂

附录C-100以内欧拉函数值

附录D-前100个素数

附录E-三角公式

基本关系

和差角公式

欧拉公式

正弦定理

余弦定理

辅助角公式

附录F-变换

线性变换

仿射变换

可逆变换

等角变换

正交变换

刚体变换

欧式变换

变换所具有的性质

变换矩阵的构造

变换矩阵的组合

附录G-解析几何公式

定比分点公式

附录H-对拍、批处理与数据生成器

Windows

对拍批处理

批量输入数据文件生成

批量输出结果文件生成

随机数

Linux

pause

对拍

批量输入数据文件生成

随机数

平台通用

C++随机数据生成器

附录I-Linux简单操作

打开文件夹

创建文件夹

调用编译器

控制台输入文件结尾标识

显示当前路径

附录J-微积分

差分运算

前向差分

逆向差分

差分序列还原

附录K-溢出检测

加法溢出检测

无符号数运算

有符号数运算

减法溢出检测

乘法溢出检测

逆运算检测

扩位后截断检测

附录L-乘法公式

三数和平方公式

平方和公式

平方差公式

立方和差公式

附录M-杨辉三角

ACM-ICPC模板整理相关推荐

  1. ACM 各种模板整理

    静态仙人掌(圆方树) #include<bits/stdc++.h> using namespace std; #define LL long long #define pr std::p ...

  2. 2016 ACM / ICPC Asia dalian Regional Contest 题解(11 / 11)【每日亿题2021 / 2 / 17】

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A .(2017 ACM ICPC dalian H)To begin or not to be ...

  3. 2019 ACM - ICPC 上海网络赛 E. Counting Sequences II (指数型生成函数)

    繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...

  4. 解题报告(一)F、(2018 ACM - ICPC shenyang I)Distance Between Sweethearts(数学期望 + 乘法原理 + FWT)(4.5)

    繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...

  5. ACM竞赛学习整理--矩阵运算

    ACM竞赛学习整理–矩阵运算 了解矩阵类 [任务] 实现矩阵的基本变换 [接口] 结构体:Matrix 成员变量: int n,m 矩阵大小 int a[][] 矩阵内容 重载运算符: +.-.x 成 ...

  6. Problem 1002-2017 ACM/ICPC Asia Regional Shenyang Online

    网络赛:2017 ACM/ICPC Asia Regional Shenyang Online 题目来源:cable cable cable Problem Description: Connecti ...

  7. ACM/ICPC竞赛

    备战ACM资料 一:知识点 数据结构: 1,单,双链表及循环链表 2,树的表示与存储,二叉树(概念,遍历)二叉树的 应用(二叉排序树,判定树,博弈树,解答树等) 3,文件操作(从文本文件中读入数据并输 ...

  8. 2016 ACM/ICPC亚洲区青岛站现场赛(部分题解)

    摘要 本文主要列举并求解了2016 ACM/ICPC亚洲区青岛站现场赛的部分真题,着重介绍了各个题目的解题思路,结合详细的AC代码,意在熟悉青岛赛区的出题策略,以备战2018青岛站现场赛. HDU 5 ...

  9. 2019 ACM - ICPC 西安邀请赛 B. Product (杜教筛) 简单数论(bushi)

    G.(2019 ACM/ICPC 全国邀请赛(西安)B) Product Weblink https://nanti.jisuanke.com/t/39269 Problem && S ...

  10. P5801 [SEERC2019]Game on a Tree(ACM - ICPC 2019)(树的最大匹配)(完美匹配)

    P5801 [SEERC2019]Game on a Tree(ACM - ICPC 2019)(树的最大匹配) 完美匹配:如果一个图的某个匹配中,所有的顶点都是匹配点,那么它就是一个完美匹配. #i ...

最新文章

  1. volatile: 多线程程序员最好的朋友
  2. 《C++ Primer Plus(第六版)》(17)(第十章 对象和类 编程题答案)
  3. 万字长文搞定C语言指针
  4. 你知道C#中的Lambda表达式的演化过程吗
  5. php 上传大文件400,PHP fastcgi模式上传大文件(大约有300多K)报错
  6. 关于HTTP协议相关的文章
  7. AOP的实现方式比较,cglib vs jdk
  8. 常用linux terminal 命令
  9. Hive集成Mysql作为元数据时,提示错误:Specified key was too long; max key length is 767 bytes...
  10. 计算机失误,计算机做题的易出现的失误
  11. LR 监控mysql
  12. bug10-graphviz.backend.ExecutableNotFound: failed to execute [‘dot‘, ‘-Tpdf‘, ‘-O‘, ‘Source.gv‘]
  13. java发送邮件代码
  14. matlab教程r2018a教材,MATLAB教程(R2018a)
  15. 企业微信API全局错误码 enum枚举类
  16. 《多媒体技术与应用》练习题
  17. 【Linux】安装opencv4避坑指南
  18. 描写火车站场景_描写火车站的优秀句子
  19. tx2 安装opencv4.1.1及opencv_contrib-4.1.1
  20. ubuntu服务器的安装(转载)

热门文章

  1. CCF 20180916 买菜 JAVA版本
  2. 【面经问题总结】小米日常实习 一面
  3. 想要从编程小白成为达人,这些你必须知道!(附STM32学习指南)
  4. 语音识别数据预处理(添加噪音)和特征提取
  5. 本关任务:编写一个Point类,有x、y两个属性。编写一个PointDemo类,并提供一个distance(Point p1,Point p2)方法用于计算两点之间的距离,实例化两个具体的Point对
  6. 五,JavaScript数组·上
  7. 百度地图 JavaScript API GL
  8. 华为任正非最新讲话:流程要为多产粮食服务!坚决简化繁琐的管理哲学!(华为LTC/IPD/ITR/ISC)
  9. 化妆品零售变革 电子商务VS传统零售
  10. 采购订单限价(包含阶梯价)ME_PROCESS_PO_CUST