CF843D.Dynamic Shortest Path

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given a weighted directed graph, consisting of nn vertices and mm edges. You should answer qq queries of two types:

  • 1 v — find the length of shortest path from vertex 11 to vertex vv .
  • 2 c l1 l2 ... lcl_{1}\ l_{2}\ ...\ l_{c} — add 11 to weights of edges with indices l1,l2,...,lcl_{1},l_{2},...,l_{c} .

输入格式

The first line of input data contains integers nn , mm , qq ( 1<=n,m<=1051<=n,m<=10^{5} , 1<=q<=20001<=q<=2000 ) — the number of vertices and edges in the graph, and the number of requests correspondingly.

Next mm lines of input data contain the descriptions of edges: ii -th of them contains description of edge with index ii — three integers aia_{i} , bib_{i} , cic_{i} ( 1<=ai,bi<=n1<=a_{i},b_{i}<=n , 0<=ci<=1090<=c_{i}<=10^{9} ) — the beginning and the end of edge, and its initial weight correspondingly.

Next qq lines of input data contain the description of edges in the format described above ( 1<=v<=n1<=v<=n , 1<=lj<=m1<=l_{j}<=m ). It's guaranteed that inside single query all ljl_{j} are distinct. Also, it's guaranteed that a total number of edges in all requests of the second type does not exceed 10610^{6} .

输出格式

For each query of first type print the length of the shortest path from 11 to vv in a separate line. Print -1, if such path does not exists.

输入输出样例

  • 输入#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
    

说明/提示

The description of changes of the graph in the first sample case:

The description of changes of the graph in the second sample case:

首页