摘要: 给定一个 DAG(有向无环图),如果从 \(u\) 到 \(v\) 有边,则认为 \(v\) 依赖于 \(u\)。如果 \(u\) 到 \(v\) 有路径(\(u\) 可达 \(v\)),则称 \(v\) 间接依赖于 \(u\)。我们将图中的顶点以线性方式进行排序,使得对于任何的顶点 \(u\) 到 阅读全文
posted @ 2024-01-26 17:29 狂飙霹雳虎 阅读(42) 评论(0) 推荐(2) 编辑
摘要: 最小生成树 \(n\) 个点用 \(n-1\) 条边连接成一个连通块,形成的图形只可能是树 一个有 \(n\) 个点的连通图,边一定是大于等于 \(n-1\) 条的。图的最小生成树,就是在这些边中选择 \(n-1\) 条出来,连接所有的 \(n\) 个点。这 \(n-1\) 条边的边权之和是所有方案 阅读全文
posted @ 2024-01-26 17:29 狂飙霹雳虎 阅读(19) 评论(0) 推荐(2) 编辑
摘要: 最短路 Floyed 时间复杂度:\(O(n^3)\) 标准弗洛伊德算法,三重循环。循环结束之后 \(dis[i][j]\) 存储的就是点 \(i\) 到点 \(j\) 的最短距离。 需要注意循环顺序不能变:第一层枚举中间点,第二层和第三层枚举起点和终点。 题目多数时间限制为 \(1s\),因此一般 阅读全文
posted @ 2024-01-26 17:27 狂飙霹雳虎 阅读(25) 评论(0) 推荐(3) 编辑
摘要: 矩阵相关运算 结构体定义 将矩阵运算定义成结构体,并重载相应的运算符,可以简化后续的运算。 typedef long long ll; const int N = 110; int n, mod; struct Mat { int n, m; //矩阵的行和列 int a[N][N]; void z 阅读全文
posted @ 2024-01-26 09:26 狂飙霹雳虎 阅读(15) 评论(0) 推荐(2) 编辑