随笔分类 - B - 图论 - 最短路
摘要:跳蚤国有 n 座城市,分别编号为 1~n,1 号城市为首都。所有城市分布在一个 w×h 范围的网格上。每座城市都有一个整数坐标 (x,y)(1<=x<=w, 1<=y<=h),不同城市的坐标不相同。
在跳蚤国中共有 m 个弹跳装置,分别编号为 1~m,其中 i 号弹跳装置位于 pi 号城市,并具有参数 ti,Li,Ri,Di,Ui。利用该弹跳装置,跳蚤可花费 ti(ti>0) 个单位时间,从 pi 号城市跳至坐标满足 Li<=x<=Ri, Di<=y<=Ui(1<=Li<=Ri<=w, 1<=Di<=Ui<=h) 的任意一座城市……
阅读全文
摘要:给定一个 n 点 m 条边的无向连通图,每条边的边权为 a 或 b。
对于 1 ~ n 中的每一个 i,求在所有可能的最小生成树中 1 -> i 的最短路的最小值。
阅读全文
摘要:给定一个长度为 n 的字符串 s,保证只包含前 8 个小写字母 'a', 'b', ... 'h'。
根据该字符串建一个图。两个点 p, q 之间有连边要么 |p - q| = 1,要么 s[p] = s[q]。
求该图直径的长度(所有点对之间的最短距离的最大值),以及直径的数量。
阅读全文
摘要:给出一个N*M的网格图,有一些方格里面存在城市,其中首都位于网格图的左上角。
你可以沿着网络的边界走,要求你走的路线是一个环并且所有城市都要被你走出来的环圈起来,即想从方格图的外面走到任意一个城市一定要和你走的路线相交。
你沿着方格的边界走是需要费用的,不同的边界费用可能不同,求最小代价。
阅读全文
摘要:给定一个 N 个点的有向带权图,从 0 编号到 N - 1。一开始这张图有 N - 1 条边,第 i 条边连接点 i 与点 i+1,边权为 0。
接着往这张图加边:对于每一对 (i, j)(i ≠ j),连 i -> j,当 i < j 时边权为 -1;否则边权为 1。
我们想要删掉一些边 (i, j)(i ≠ j),使得这张图不存在负环。删掉边 (i, j) 的费用为 A(i, j)。
请找到最小的删边费用,使得图中不存在负环。只能删之后加的边。
阅读全文
摘要:一个 n 个点的无向简单的连通图,编号从 0 到 n-1。
现给出每个点到点 0 的距离 dist0[]、每个点到点 1 的距离 dist1[],还原整张图,或判断无解。
阅读全文
摘要:给定一个 n 点 m 边的无向连通图,每条边的编号按照输入顺序依次为 1, 2, ..., m。
现从 1 号点出发,当经过编号为 i 的边时,将 i 写下来。因为写的数之间没有空隙,所以写下来的所有数最终会连成一个数。
对于每一个除 1 以外的点,当它作为终点时,最终连成的数最小是多少?
输出答案模 10^9 + 7。注意,你应该输出最小可能的数的余数,而不应该是最小可能的余数。
阅读全文
摘要:给定一个长度为 n 的正整数序列 a1, a2, ..., an。
考虑建一张 n 个点的图。假如 ai AND aj ≠ 0,则在 i, j 之间连无向边。
求在这张图上的最小环。
阅读全文
摘要:一张 N + 1 个点 M 条边的双向带权图,K 个人从 0 号点同时出发,要求如果要到达 i 号点必须有一个人之前曾经过 i-1 号点。
求某个人到达 N 号点时,所有人经过的路径的长度总和最小值。
保证有解,即至少存在一种方案使得某个人可以到达 N 号点。
阅读全文
摘要:给定一个长度为 n 的正整数序列 a,每个数都在 1 到 10^9 范围内。
告诉你其中 s 个数,并给出 m 条信息,每条信息包含三个数 l, r, k 以及 k 个正整数,表示 a[l], a[l+1], ..., a[r-1], a[r] 里这 k 个数中的任意一个都比任意一个剩下的 r-l+1-k 个数大(严格大于,即没有等号)。
请任意构造出一组满足条件的方案,或者判断无解。
阅读全文
摘要:企鹅国中有 N 座城市,编号从 1 到 N 。
对于任意的两座城市 i 和 j ,企鹅们可以花费 (i xor j) * C 的时间从城市 i 走到城市 j ,这里 C 为一个给定的常数。
当然除此之外还有 M 条单向的快捷通道,第 i 条快捷通道从第 Fi 个城市通向第 Ti 个城市,走这条通道需要消耗 Vi 的时间。
现在来自 Penguin Kingdom University 的企鹅豆豆正在考虑从城市 A 前往城市 B 最少需要多少时间?
阅读全文