P10773 [NOISG 2021 Qualification] Truck

题目描述

有一棵树,每条边有两个权值 $D_i$ 和 $T_i$,给定 $Q$ 次操作。操作分为两种: `0 x y t`:表示把 $x$ 和 $y$ 之间的一条道路的 $T_i$ 值改为 $t$。 `1 x y`:表示查询 $x$ 到 $y$ 的费用。 定义 $x$ 到 $y$ 的费用为:给定参数 $G$(对每组询问都相同),要求 $x$ 运送一些价值到 $y$,每经过一条权值为 $D_i$ 和 $T_i$ 的边,运送的价值会减少 $T_i$,然后会产生运送的价值的 $D_i$ 倍的费用。在运送到 $y$ 节点时,若运送到的价值刚好为 $G$,产生的费用就为 $x$ 到 $y$ 的费用。 你要对每组询问计算费用。由于费用可能比较大,请输出对 $10^9+7$ 取模的值。

输入格式

第 $1$ 行两个整数 $N,G$。 第 $2 \sim N$ 行,每行四个整数 $A_i,B_i,D_i,T_i$,表示树上 $A_i$ 和 $B_i$ 有一条边,边权为 $D_i$ 和 $T_i$。 第 $N+1$ 行一个整数 $Q$,表示操作个数。 下面 $Q$ 行,每行一个操作,格式见上。

输出格式

若干行,对于每个查询操作,你需要求出费用。每行一个回答。

说明/提示

#### 数据范围 **本题采用捆绑测试。** Subtask0 为样例。 Subtask1(5 pts)只有查询操作,每个节点度不超过 $2$,且 $T_i=0$。 Subtask2(9 pts)只有查询操作,且 $T_i = 0$。 Subtask3(12 pts)只有查询操作,$D_i=1$,且所有 $T_i$ 相等。 Subtask4(17 pts)只有查询操作,且每个节点度不超过 $2$。 Subtask5(20 pts)每个节点度不超过 $2$。 Subtask6(18 pts)$N,Q \leq 5000$。 Subtask7(19 pts)无特殊限制。 数据保证 $2 \leq N \leq 10^5$,$1 \leq Q \leq 10^5$,$1 \leq A_i,B_i \leq N$,$1 \leq D_i,G \leq 10^9$,$0 \leq T_i \leq 10^9$。