A90623.Dynamic Shortest Path
普及+/提高
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
给定一个带权有向图,包含 n 个顶点和 m 条边。你需要回答 q 个两种类型的询问:
- 1 v —— 查询从顶点 1 到顶点 v 的最短路径长度。
- 2 c l1 l2 ... lc —— 对编号为 l1,l2,...,lc 的边的权值各加 1。
输入格式
输入数据的第一行包含三个整数 n、m、q(1≤n,m≤105,1≤q≤2000),分别表示图中的顶点数、边数和询问数。
接下来的 m 行描述边的信息:第 i 行包含三个整数 ai、bi、ci(1≤ai,bi≤n,0≤ci≤109),表示编号为 i 的边从顶点 ai 指向 bi,初始权值为 ci。
接下来的 q 行,每行为一条询问,格式如上(1≤v≤n,1≤lj≤m)。保证每条第二类询问中的 lj 互不相同。且所有第二类操作涉及的边总数不超过 106。
输出格式
对于每一条第一类询问,输出一行,表示从顶点 1 到顶点 v 的最短路径长度。如果不存在这样的路径,输出 −1。
输入输出样例
输入#1
3 2 9 1 2 0 2 3 0 2 1 2 1 3 1 2 2 1 1 1 3 1 2 2 2 1 2 1 3 1 2
输出#1
1 0 2 1 4 2
输入#2
5 4 9 2 3 1 2 4 1 3 4 1 1 2 0 1 5 1 4 2 1 2 2 1 2 1 4 2 2 1 3 1 4 2 1 4 1 4
输出#2
-1 1 2 3 4
说明/提示
样例说明
第一个样例中的图变动如下所示:

第二个样例中的图变动如下:
