# 数学大合集 *$update\ 4.25$* ## Part1.同余 当整数 *a* 和整数 *b* 除以整数 *m* 的余数为同一个数是 *a *≡ *b *(mod *m*) ,或者说,若 *m* 是正整数,*a*,*b*是整数,且 *m*∣(*a*−*b*) 或 (*a*−*b*)%*m*=0,则称 *a* 和 *b* 模 *m* 同余。…
## 为防止老年痴呆,特地贴一份线段树的板子在此 > 尝有老登云"老年痴呆者,亦可传此线段树之模板咦!"自觉废物,故贴此详解,以防老年痴呆(悲) #### [完整代码](https://venlacy.top/codes/线段树.html) 线段树↓ ~~~cpp struct node{ int l,r; long long sum,lazy; …
#### Dinic 何尝又不是EK的一种变形呢? 以下是Dinic算法的C++实现,包含详细的代码注释,帮助理解算法的每个步骤。 ```cpp #include #include #include #include using namespace std; struct Edge { int to; // 边的终点 int rev; // 反向边…
#### 当你了解网络流是什么原理时,你才知道到这有多难用文字解释 这段代码实现了网络最大流的Edmonds-Karp算法,下面我将分部分详细解释: ### 1. 数据结构和变量定义 ```cpp int n,m,s,t,u,v; long long w,ans,dis[520010]; int tot=1,vis[520010],pre[5200…
## 算法概述 ### 最短路 易,无 ### 最小生成树 #### 一、Kuruskal算法 思路:将边从小到大排列,如果能**提供贡献**(即将两个树连通)则选用这条边,反之,不选用这条边. 附:**并查集**: ~~~c++ int fa[N],n,m,cnt,ans,num; int find(int x) { return fa[x]==…
## 算法概述 #### 一、三分 对于一个单峰函数 $f(x)$ 可以对于区间l,r进行三分,区间为 $[l,(2l+r)/3],[(2l+r)/3,(l+2r)/3],[(l+2r)/3,r]$ 三个区间 **如图**. ![](https://venlacy.top/blog/wp-content/uploads/2025/03/微信图片编辑…