OJ
文章平均质量分 71
有只柚稚
愿做不尽原野上自由的风
展开
-
OJ 1340 强连通分量
用 DFS 算法遍历原图并得到每个点的finish时间(即在DFS递归中返回的时间顺序),头结点是指原图中 finish 时间最大的点,尾结点是指原图中 finish 时间最小的点。由于原图对应 SCC 图是有向无环图,只需找到原图中的尾结点,并以尾结点为起始点 DFS 原图,就可以剥离出SCC图中的尾结点,将SCC图中的尾结点(一个SCC)所对应的所有点在原图中剔除(可以设置visited数组记录)得到新图,不断重复寻找新图尾结点,DFS 分离一个 SCC 操作,最终分离出原图所有的SCC分量。原创 2023-06-30 16:13:47 · 87 阅读 · 0 评论 -
OJ 1342 最短路径
给一个 n (1≤n≤2500) 个点 m(1≤m≤6200) 条边的无向图,求 s 到 t 的最短路的长度。第一行为四个正整数 n, m, s, t。第二行起 m 行,每行三个非负整数。输出一行一个整数,表示 s 到 t 的距离。数据保证,s 出发可以到达 t。请输出到 stdout 中。输入点的标号为 1…请从 stdin 读入。原创 2023-06-26 10:31:00 · 67 阅读 · 1 评论 -
OJ 1430 假日打工
Case3 尽管你第二天有钱玩,但是你不是三和大神,你是聪明的带学生。因此你会把第二天的工打了,再爽玩三天。你最开始有 0 元。由于打工和发呆很无聊,你想在玩的天数尽可能多的情况下,赚尽量多的钱。输出一行一个整数,表示你在假期结束后,最终会剩下多少钱。根据打工和花钱列状态转移方程即可。Case1 人生得意须尽欢,莫使金樽空对月!输入第一行为三个正整数,n, m, x (请输出你在假期结束后,最终会剩下多少钱。请输出到 stdout 中。Case2 金樽空对月。请从 stdin 读入。原创 2023-06-26 10:07:27 · 194 阅读 · 1 评论 -
OJ 1428 最小生成树
采用无优化的 Prim算法求解最小生成树。无优化刚好能过,时间复杂度O(给定一张 n个点,m条边的有权无向连通图,求最小生成树的边权和。如果采用Fabonacci heap优化,时间复杂度为O。接下来 m 行,第 i 行为用空格隔开的整数。进一步可以采用heap优化,时间复杂度O[输出一行,包含一个整数,表示你的答案。请输出到 stdout 中。请从 stdin 读入。输入第一行为两个正整数。),表示第 i条边为从。输入可能存在重边与自环。原创 2023-06-25 21:10:15 · 196 阅读 · 1 评论 -
OJ 1899 二分图的最大独立集
给定一个 n个点 m条无向边的二分图,请输出一个图上的最大独立集。输入图保证是一个二分图:存在fV↦01,使得∀uv∈Efufv。一个点集 S是独立集,当且仅当∀uv∈Eu∈S∨v∈S为真。最大独立集指独立集中大小最大的。原创 2023-06-16 17:38:31 · 60 阅读 · 0 评论 -
OJ 1449 最大流
使用EK算法(Edmonds-Karp algorithm)通过构造剩余网络来解决。给定一张源为 1,汇为 n的网络,求 1到 n的最大流。接下来 m 行,第 i 行为用空格隔开的整数。输出一行,包含一个整数,表示最大流的流量。输入第一行为两个正整数 n, m。请输出到 stdout 中。请从 stdin 读入。输入可能有重边和自环。原创 2023-06-16 17:05:21 · 67 阅读 · 0 评论