#P6436. 「EZEC-1」越狱
「EZEC-1」越狱
题目背景
由于监狱长 PF 的疏忽,罪犯小 E 找到了机会越狱。
然而,不学无术的小 E 不懂得保密。PF 很快发现了他的计划,并对他展开了追捕。
因为小 E 自己造船,而狱长 PF 坐的是官方的船,所以在每条航道上的表现不一样,通过时间可能不同。具体见输入格式。
为了不饿肚子,小 E 准备买一个包来装食物。
题目描述
小 E 的逃跑路线可以被看作是在 个岛屿上,这些岛屿由 条航线两两相连。
每个岛上都有足够的补给。假设他每在海上航行一天,就要花费一个单位的食物。黑心老板规定,能装 单位的食物的背包将会卖 万元。
PF 可以命令在任意两个通过时间不超过 ,并且岛 到岛 的航线上至少有 个岛屿(不包括 和 )的岛屿 与 之间建立一条双向航线,通过这条航线的时间为 。由于经济问题,他只能建造一条额外的航线。
小 E 可以根据官方给出的航线(包括新增的航线)确认 PF 到每个岛上的最短时间。
PF 将会在 时发现小 E 逃走并开始追击。
为了节省钱,同时逃脱 PF 的追捕,小 E 想请你帮他编一个程序,计算最小的 ,使得他能够顺利逃脱到至少 个岛屿。
补给不需要时间,中途抓住也算抓住,同时到达则不算。
在岛屿上进行补给不需要时间,可以无限进行补给,只要背包装得下。
题意概括:
有两个人 , 和一颗 个节点组成的树, 比 早出发 秒。如果两个节点之间通过时间不超过 则 可以在这两点之间建一条通过时间为 的线路,求一个方案使 至少到 个点的最短时间不比 长,并在此基础下要求岛屿之间距离最大值尽量小。
输入格式
第一行五个整数,,表示岛屿的数量,PF 发现的时间,建立航线要求的通过时间范围,至少要到达的岛屿数量,以及建立航线所要求的中间岛屿的数量。他们的出发点均为点 。
接下来 行,每行四个整数 ,表示岛屿 和岛屿 之间有一条道路。 表示小 E 走这条航线的时间, 表示 PF 走这条航线的时间。航线为双向 。
输出格式
若有解,输出共两行。
第一行一个整数 ,表示最小能够逃脱所需要的钱数(单位:万元)。
第二行一个整数 ,表示用 万元买背包时的能跑到的岛屿数量( 号岛也算在内)。
若无解,只需输出 "no solution" (引号不需要输出)。
5 3 20 4 2
1 2 5 5
2 3 5 5
2 4 7 10
1 5 4 1
7
4
5 2 6 3 2
1 2 5 3
2 3 8 6
1 4 8 2
2 5 4 6
5
3
5 0 23 4 1
1 2 21 26
1 3 14 16
3 4 4 5
1 5 19 18
no solution
提示
【样例解释】
样例 :
对于样例 ,最后能到的点为 ,最小花费为 。由于狱长 PF 从点 要经过点为 ,满足中间的点数 ,故狱长 PF 可以连边点 和点 。如果狱长 PF 选择连边 ,那么到点 的时间为 $3+1+ \left\lfloor \dfrac{1+5+5}{2}\right\rfloor = 9$。而小 E 到点 的最短时间为 ,不满足条件,故无论 的大小,点 都是不可到达的。
【数据范围】
测试点编号 | 时间限制 | 空间限制 | 特点 | ||||
---|---|---|---|---|---|---|---|
加边操作 不影响答案 | |||||||
无 | |||||||
加边操作 不影响答案 | |||||||
无 | |||||||
加边操作 不影响答案 | |||||||
无 | |||||||
对于 的数据,,,,,,。
保证可能新建立的双向航线方案数不超过 。