问题 A: 高速
时间限制: 1 Sec 内存限制: 128 MB
提交: 15 解决: 4
[提交][状态][讨论版][命题人:qianyouyou]
题目描述
教练开车去东北,因为比赛地点在东北。共有 n 座城,已知教练在 s 城,比赛地点在 t 城,n 座城之间共有 m 条高速,每条高速连接两座城市,每两座城市之间最多两条高速。每条高速都有权值 v,表示两个城市之间最快可以 v 小时到达。
然而高速不是永久开放的,每条高速都会有一段开放时间 [ a,b ],表示该高速在 a ~ b 小时范围之间开放,其余时间处于关闭状态,不能通过任何车辆。例如 [ 24,27 ]表示该路在第 24 小时到 27 小时之间开放。
已知教练在 0 时刻出发,他最快多少小时可以到达 t 城。
(PS:由于刹车坏掉了,因此车一旦启动就不能停下来,也就是说车不能停于某点或某边,不过车可以来回无限次在两地之间穿梭)
输入
多组测试样例,首行输入 t,表示 t 组样例。
图为无向图,s 城固定为 1 点,t 城固定为 n 点。
每组样例第 1 行,输入n,m(1 < n ≤ 100,0 < m ≤ 1000)。
接下来 m 行,每行 5 个数值x,y,v,l,f。表示 x 与 y 有一条高速,耗时为 v。该路开放时间为[ l,f ]。
数据保证教练可以到达终点,只不过是时间问题。
输出
输出一个数值,即最少耗时。
样例输入
1 | 1 |
样例输出
1 | 10 |
tag:图论、分时最短路
1 | //最短路 |
问题 C: 千年老二
时间限制: 1 Sec 内存限制: 128 MB
提交: 24 解决: 12
[提交][状态][讨论版][命题人:qianyouyou]
题目描述
雷婷与万钧是青梅竹马,无论是考试还是玩游戏,雷婷总是第一,而万钧总是第二,尽管万钧有做第一的实力,但他每次都会把第一让给雷婷,仅因为每次读榜单时雷霆万钧听起来是那么顺耳。这天,雷婷参加了 acm 选拔,万钧也跟着雷婷参加。题目是这样的:
有 n 个节点,编号为 1~n,有 m 条边,每条边都有一个距离。两点之间最多只有 1 条边。现在你需要选取 n-1 条边,使得所有点都连接起来都有通路。n-1 条边距离之和越小分数越高。
万钧立马意识到这道题是求最小生成树的,并且每个人的答案不能相同,万钧根据瞪眼法立马瞪出了答案,然而他还是等待雷婷先做完。现在雷婷已经找到了距离最短的1种方案,不过他俩太心有灵犀了,答案一模一样,万钧想获得第 2 名,请你帮万钧想一种方案,距离之和越短越好,但不能和雷婷的结果相同。一条边不同即可认为不同。如果找不到输出 -1。当然存在一种情况,如果雷婷的方案是没有方案求出最短距离,即表示该图没有最小生成树,即输出 -1。总之雷婷的方案是最优解的一种。
输入
存在多组数据,第一行一个正整数 t,表示有 t 组数据。
每组数据第一行有两个整数 n 和 m(2 ≤ n ≤ 100,1 ≤ m ≤ 1000),之后 m 行,每行三个正整数 s,e,w,表示 s 到 e 的双向路的权值为 w。
输出
输出次小生成树的值(如果存在多个最小生成树或仅有一个树,则次小生成树就是最小生成树,输出-1),如果不存在输出 -1。
样例输入
1 | 1 |
样例输出
1 | 4 |
tag:图论、次小生成树
1 | //次小生成树 |
问题 F: 给力台球厅
时间限制: 1 Sec 内存限制: 128 MB
提交: 10 解决: 3
[提交][状态][讨论版][命题人:qianyouyou]
题目描述
教练爱打台球。这天偶遇一家台球厅,便进去看看。然而这家台球厅貌似和平常的台球厅不太一样,它的每张桌面上的洞都是随机分布在桌面上的,球也是随机摆放的。
教练立即意识到,此台球厅的桌面不符合正态分布之概率密度函数,而是呈离散分布,顿时患有强迫症的教练心里就不舒服了。为了平缓一下翻腾的内心,教练随机选取了一张球和洞数量一样的球桌,望着奇怪的桌面与奇怪的球,教练脑袋上不禁长出了大把大把的草:如果能求出所有球入洞的最短距离之和该有多好啊。
现有一个桌面面积为 n×m 的台球桌,将台球桌分成 n×m 个小格,台球桌上有许多的洞和许多的球,均匀分布在小格里,且每个小格只有三种状态,有球,有洞,空白。球用 @ 表示,洞用 # 表示,空白的地方用 * 表示。每个洞只能容纳一个球,球每次只能按照上下左右的方向移动,且每移动一格视为移动 1 个单位长度。当一个球被另一个球挡住时,它可以跳球,所以每一个球都可以完全无视其他球或洞的存在而继续前行,直到进自己心仪的洞。现求所有球进洞的距离之和最小是多少。如果你能帮教练解决这道题,恭喜你就是 ACM 队员了(每个球只能进一个洞,每个洞内有球的话就变成空白状态)
输入
多组测试样例,首行输入 m,n,即矩形台球桌面的边长。(2 ≤ m,n ≤ 20,球最多100个,洞最多100个,保证洞和球数量相等)
输出
输出一个整数,即所有球入洞的距离最短是多少。
样例输入
1 | 2 2 |
样例输出
1 | 2 |
tag:图论、最小费用最大流
1 | //网络流 |