#HK5126. 「RMI 2018」Traffickers
「RMI 2018」Traffickers
题目描述
题目译自 Romanian Master of Informatics 2018 Day1 T3 「Traffickers」
在狂野西部,帕布罗是最臭名昭著的人物之一,他控制着 个通过道路连接成树状结构的城市。他的心腹手下是贩运者,日夜不停地运输货物。每名贩运者由一对城市 定义:从时间 开始,贩运者从城市 沿最短路径前往城市 。在每个整数时间点,贩运者交付 单位货物,然后移动到下一个城市。
帕布罗的贩运者难以追踪:一旦一名贩运者到达目标城市 并交付货物,在下一时间点,他会瞬间传送回城市 (如果他在时间 在城市 交付货物,那么在时间 他将在城市 交付)。由于生意兴隆,帕布罗希望永不停止,贩运者将永远按照他们的路线行动。
尽管帕布罗的系统看似无懈可击,你还是想知道是否能进一步优化。因此,你将对系统执行以下 种查询:
- :添加一名在城市 间运输的贩运者。
- :移除一名在城市 间运输的贩运者。保证这样的贩运者存在。
- :你想知道在时间 到 (包含)内,所有现有贩运者在城市 到 最短路径上(包含两端城市)交付的货物单位总数。
输入格式
第一行包含一个整数 ,表示城市数量。接下来的 行每行包含两个整数 ,表示城市 和 之间有一条直接道路。
下一行包含一个整数 ,表示帕布罗网络中初始的贩运者数量。接下来的 行每行包含两个整数 ,表示一名贩运者的路径城市对。
下一行包含一个整数 ,表示你打算执行的查询数量。接下来的 行每行包含一个查询,格式如上所述。
输出格式
对于每种类型 的查询,在单独的一行输出答案。
5
1 2
2 3
2 4
1 5
1
4 1
3
3 3 5 0 3
1 2 5
3 4 5 1 5
2
10
在样例中,第一个查询(类型 )询问在时间 到 内,城市 到 的最短路径(路径为 )上交付的货物总量。初始只有一名贩运者从城市 到 ,他在时间 在城市 交付 单位货物,时间 在城市 交付 单位货物,总计 单位。
第二个查询(类型 )添加一名从城市 到 的贩运者。
第三个查询(类型 )询问在时间 到 内,城市 到 的最短路径(路径为 )上交付的货物总量。两名贩运者的交付情况导致总计 单位货物。
数据范围与提示
对于所有输入数据,满足:
- 每名贩运者的路径最多覆盖 个城市(包括端点)
每个测试点将单独评分。
| 子任务 | 分值 | 附加限制 |
|---|---|---|
| ,, | ||
| , | ||
| 无附加限制 |