Loading

摘要: 文章有点长,都是由本人一点一点写出来的,公式加载需要一段时间。 CF149D Coloring Brackets 思路 这是一道很好的区间 DP 题目。 我们可以设 \(f_{l, r, c1, c2}\) 表示在 \([l, r]\) 这一段头端染色 \(c1\),尾部染色 \(c2\) 可以获得 阅读全文
posted @ 2024-07-22 08:09 SunnyYuan 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 文章有点长,都是由本人一点一点写出来的,公式加载需要一段时间。 CF576D Flights for Regular Customers 思路 首先我们可以按边的权值对边从小到大进行排序。 然后,我们可以从前往后枚举每一条边 \(i\),假设边 \(i\) 需要经过至少 \(d_i\) 条边才能经过 阅读全文
posted @ 2024-07-20 16:14 SunnyYuan 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 基环树 定义 在树形结构中添加一条边形成的图。 分类 无向图基环树 内向基环树,每个点的出度为 1。 外向基环树,每个点的入度为 1。 找环: 方法1:无向图基环树找环。 拓扑排序,去掉环以外的点,剩下的就是一个那个环。 方法2:有向图和无向图均适用。 原理:在搜索树中检查一个点 \(x\) 的子节 阅读全文
posted @ 2024-07-20 10:09 SunnyYuan 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 树的直径 树上 2 个点距离最远的点形成的简单路径。 性质: 如果所有边权都为正数,那么所有直径的重点都是一个点,那个点就是树的中心。 树上任意点 \(x\) 距离其最远的点一定是树的直径的端点。 树的直径的端点一定是度数为 1 的点。 SPOJ PT07Z, Longest path in a t 阅读全文
posted @ 2024-07-20 08:22 SunnyYuan 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 定义 圆方树:将无向图转化为树形结构的数据结构,使得树上 2 点路径上的点都是原图的必经点。 圆点:原无向图 \(G\) 中的点,仍然保留在圆方树中,称之为圆点。 方点:将每一个点双连通分量新建一个“方点”。 树边:每一个方点都向对应的点双内的圆点连边。 基本性质: 性质一:圆方树的总点数 = 原图 阅读全文
posted @ 2024-07-17 14:52 SunnyYuan 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 例题: P5903 【模板】树上 k 级祖先 题目描述 思路 长链剖分模板题。 长链剖分: 计算 \(f[i][j]\) 表示 \(i\) 的 \(2^j\) 级祖先; 计算 \(up[i][j]\) 表示 \(i\) 的 \(j\) 级祖先; 计算 \(down[i][j]\) 表示在长链上从 \ 阅读全文
posted @ 2023-08-25 18:39 SunnyYuan 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 左偏树模板题 #include <bits/stdc++.h> using namespace std; const int N = 100010; int v[N], l[N], r[N], dis[N]; bool del[N]; int fa[N]; int find(int x) { if 阅读全文
posted @ 2023-08-23 14:55 SunnyYuan 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 有向图最小路径点覆盖(不可相交) 定义 定义:在一张有向无环图 DAG 中,用最少的不相交的路径覆盖所有的点。 实现方法 将原图中每个点 \(x\) 拆为出点 \(out[x]\) 和入点 \(in[x]\)。 对于原图中一条 \(x >y\) 的有向边,在新图中连接 \(out[x]\) 和 \( 阅读全文
posted @ 2023-08-10 10:06 SunnyYuan 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 来自我的洛谷专栏。 强连通分量 定义 有向图 \(G\) 中任意两个点都可以互相到达就称这个有向图 \(G\) 强连通。 强连通分量就是极大的强连通子图。 Tarjan 算法 思路 Tarjan 算法可以用来求强连通分量,其思想是建立一棵搜索树,维护 \(\text{dfn, low}\),简单来说 阅读全文
posted @ 2023-08-09 17:54 SunnyYuan 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 二分图 二分图的定义 二分图指的是无向图 \(G\) 中,\(N\) 个节点可以划分为两个集合 \(A\) 和 \(B\),集合 \(A\) 和 \(B\) 内部没有连边,\(A\) 和 \(B\) 之间可以连边。 二分图的判断方法 二分图的判定:没有奇环。 没有奇环实际上就是在染色的时候相邻的点不 阅读全文
posted @ 2023-08-05 23:37 SunnyYuan 阅读(8) 评论(0) 推荐(0) 编辑