Diverging Directions
题意翻译
- 给出一个 $n$ 个点,$2n-2$ 条边的带权有向图。边分为两类:
1. 前 $n-1$ 条边构成一棵生成树,$1$ 为其根结点,每条边从父亲连向儿子。
2. 后 $n-1$ 条边从 $i$ 号结点连向 $1$ 号结点,$2\le i\le n$。
- 有 $m$ 次操作,每次操作为将第 $i$ 条边的边权改为 $w$ 或查询 $u$ 到 $v$ 的最短路。
- $1\le n,m\le 2\times 10^5$,任意时刻边权 $\le 10^6$。
题目描述
You are given a directed weighted graph with $ n $ nodes and $ 2n-2 $ edges. The nodes are labeled from $ 1 $ to $ n $ , while the edges are labeled from $ 1 $ to $ 2n-2 $ . The graph's edges can be split into two parts.
- The first $ n-1 $ edges will form a rooted spanning tree, with node $ 1 $ as the root. All these edges will point away from the root.
- The last $ n-1 $ edges will be from node $ i $ to node $ 1 $ , for all $ 2<=i<=n $ .
You are given $ q $ queries. There are two types of queries
- $ 1\ i\ w $ : Change the weight of the $ i $ -th edge to $ w $
- $ 2\ u\ v $ : Print the length of the shortest path between nodes $ u $ to $ v $
Given these queries, print the shortest path lengths.
输入输出格式
输入格式
The first line of input will contain two integers $ n,q $ ( $ 2<=n,q<=200000 $ ), the number of nodes, and the number of queries, respectively.
The next $ 2n-2 $ integers will contain 3 integers $ a_{i},b_{i},c_{i} $ , denoting a directed edge from node $ a_{i} $ to node $ b_{i} $ with weight $ c_{i} $ .
The first $ n-1 $ of these lines will describe a rooted spanning tree pointing away from node $ 1 $ , while the last $ n-1 $ of these lines will have $ b_{i}=1 $ .
More specifically,
- The edges $ (a_{1},b_{1}),(a_{2},b_{2}),...\ (a_{n-1},b_{n-1}) $ will describe a rooted spanning tree pointing away from node $ 1 $ .
- $ b_{j}=1 $ for $ n<=j<=2n-2 $ .
- $ a_{n},a_{n+1},...,a_{2n-2} $ will be distinct and between $ 2 $ and $ n $ .
The next $ q $ lines will contain 3 integers, describing a query in the format described in the statement.
All edge weights will be between $ 1 $ and $ 10^{6} $ .
输出格式
For each type 2 query, print the length of the shortest path in its own line.
输入输出样例
输入样例 #1
5 9
1 3 1
3 2 2
1 4 3
3 5 4
5 1 5
3 1 6
2 1 7
4 1 8
2 1 1
2 1 3
2 3 5
2 5 2
1 1 100
2 1 3
1 8 30
2 4 2
2 2 4
输出样例 #1
0
1
4
8
100
132
10