作者: Venlacy

6 篇文章

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