QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 256 MB Total points: 100

#12998. 有限行走

Statistics

给定一个包含 $n$ 个顶点和 $m$ 条边的无向图 $G$。图中允许存在自环和重边。每条边 $i$ 被赋予一个正整数 $a_i$,并设有一个初始值为零的计数器 $b_i$。

考虑该图上的以下过程:我们任意选择起始顶点 $v_1$,然后沿着某条边 $e_1$ 从 $v_1$ 走到 $v_2$,接着沿着某条边 $e_2$ 从 $v_2$ 走到 $v_3$,以此类推。换句话说,我们在图中走过一条路径,该路径可能多次经过某些边和顶点。每当我们以任意方向经过边 $i$ 时,其计数器 $b_i$ 变为 $(b_i + 1) \pmod{a_i}$。我们可以在任意步数(包括零步)后停止该过程。

我们将该过程结束后的数组 $(b_1, b_2, \dots, b_m)$ 称为配置数组。考虑对应于图中所有可能的有限路径的所有过程,它们能产生多少种不同的配置数组?如果两个配置数组至少有一个元素不同,则认为它们是不同的。由于答案可能非常大,请输出其对 $10^9 + 7$ 取模的结果。

输入格式

第一行包含两个由空格分隔的整数 $n, m$ ($1 \le n \le 2 \cdot 10^5, 0 \le m \le 4 \cdot 10^5$),分别表示图的顶点数和边数。

接下来的 $m$ 行包含边的描述,每行描述一条边:第 $i$ 条边由三个整数 $u_i, v_i, a_i$ ($1 \le u_i, v_i \le n, 1 \le a_i \le 10^9$) 描述,分别表示边的两个端点以及分配给该边的数值。

顶点编号从 1 开始。

注意,图中允许存在自环和重边。

输出格式

输出一行,表示不同配置数组的数量对 $10^9 + 7$ 取模的结果。

样例

样例输入 1

5 5
1 2 2
2 3 2
3 4 2
4 5 2
5 1 1

样例输出 1

14

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.