SP26843 INS16F - Who is the Best?
题目描述
拜拉席恩家族是七国大地上最古老的家族之一。历代国王及继承人众多,他们的家谱结构可用一棵树来表示——每位角色都是树上的一个节点,初始值为瓦里斯大人分配的所谓「瓦里斯值」。你现在被任命为当前国王的分析师,任务是提供有关某个角色的深入分析。
国王给你下达了 **Q** 条命令,每条命令的类型如下:
1. 将从节点 **u** 到节点 **v** 的路径上所有角色的「瓦里斯值」乘以指定的数 **P**。
2. 针对某个具体角色 **X**,找出满足 **LCM(i, j)** 等于当前节点 **X** 的值的有序数对 (i, j) 的总数。
对于类型二的查询,需输出满足条件的数对个数,并对结果取模 **1000000007**。
输入格式
第一行输入两个用空格分隔的整数 **N** 和 **Q**,分别代表角色的总数和需要处理的查询数。
接下来的 **N-1** 行中,每行有两个整数 **u** 和 **v**,表示角色 **u** 和角色 **v** 之间的亲属关系。
接着一行,有 **N** 个空格分隔的整数 $V_1, V_2, V_3, \ldots, V_N$,其中 $V_i$ 表示第 $i$ 个角色的「瓦里斯值」。
接下来是 **Q** 行,每行描述一个查询请求:
- **1 u v P** - 第一类查询,更新路径上角色的值
- **2 X** - 第二类查询,分析当前节点的值
输出格式
针对每个类型二的查询,在新的行里输出其结果。
说明/提示
- $1 \le N, Q \le 100,000$
- $1 \le u, v, X \le N$
- $1 \le V_i, P \le 1,000,000,000$
**本翻译由 AI 自动生成**