QOJ.ac

QOJ

Time Limit: 6 s Memory Limit: 64 MB Total points: 100

#12855. 有时天真

Statistics

Rhason Cheung 有一个朴素的问题,并向 Teacher Mai 求助。但 Teacher Mai 认为这个问题太简单了,有时甚至有些幼稚。所以她让你来帮忙。

她有一棵包含 $n$ 个顶点的树,顶点编号从 $1$ 到 $n$。第 $i$ 个节点的权重为 $w_i$。

你需要支持两种操作:修改和查询。

对于修改操作 $u, w$,你需要将第 $u$ 个节点的权重修改为 $w$。

对于查询操作 $u, v$,你需要输出 $\sum_{i=1}^{n} \sum_{j=1}^{n} f(i, j)$。如果树上从 $u$ 到 $v$ 的路径与从 $i$ 到 $j$ 的路径有公共顶点,则 $f(i, j) = w_i w_j$,否则 $f(i, j) = 0$。由于结果可能很大,请将其对 $10^9 + 7$ 取模后输出。

输入格式

第一行包含一个整数 $T$ ($1 \le T \le 10$),表示测试用例的数量。

对于每个测试用例,第一行包含两个整数 $n$ 和 $m$ ($1 \le n, m \le 10^5$)。

接下来一行包含 $n$ 个整数,其中第 $i$ 个数表示 $w_i$ ($0 \le w_i \le 10^9$)。

接下来的 $n-1$ 行,每行包含两个数字 $u_i$ 和 $v_i$,表示 $u_i$ 和 $v_i$ 之间有一条边。

随后有 $m$ 行。每行表示一个操作,格式为 “1 u w” 表示修改,或 “2 u v” 表示查询 ($0 \le w \le 10^9$)。

输出格式

对于每个测试用例,输出每个查询操作的答案。

样例

输入 1

1
6 5
1 2 3 4 5 6
1 2
1 3
2 4
2 5
4 6
2 3 5
1 5 6
2 2 3
1 1 7
2 2 4

输出 1

341
348
612

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.