#P10016. [集训队互测 2023] 虹

    ID: 9425 远端评测题 3000ms 1024MiB 尝试: 0 已通过: 0 难度: 7 上传者: 标签>WC/CTSC/集训队2023数论深度优先搜索,DFS最近公共祖先,LCA分块位运算

[集训队互测 2023] 虹

题目描述

给定一棵 nn 个点的树。

  • 称点集 SS 连通,当且仅当 u,vS\forall u,v \in S,所有 uuvv 的简单路径上的点均在 SS 中。
  • 称点集 SS[l,r][l,r],当且仅当 SS 连通,且 SS 包含 [l,r][l,r] 中的所有点。
  • 称点集 S0S_0[l,r][l,r]最小虹,当且仅当 S0S_0[l,r][l,r] 的所有中大小最小的。可以证明,S0S_0 是唯一的。

点带权,点 uu 的权值为 wuw_u,初始所有点权均为 00。同时,给定序列 {z1,z2,,zn}\{z_1,z_2,\cdots,z_n\}

给定 qq 次命令,每次命令形如以下两类之一:

  • 1 l r:令 S0S_0[l,r][l,r]最小虹uS0\forall u \in S_0,将 wuw_u11
  • 2 l r u:求 $\left(\sum_{i=l}^r 19901991^{z_{\gcd(i,u)} w_i} \right) \bmod {20242024}$ 的值。

输入格式

第一行两个正整数 n,qn,q

第二行 nn 个非负整数,依次表示 z1,z2,,znz_1,z_2,\cdots,z_n

接下来 n1n-1 行,每行两个正整数 u,vu,v,描述一条树上从 uuvv 的边。

最后 qq 行,每行 3344 个正整数,描述一次命令。

注意:本题输入文件行末有 \r,请选手自行过滤。

输出格式

对于每次询问(即第二类命令)输出答案。

5 4
1 0 0 0 1
1 2
1 3
3 4
3 5
1 2 3
2 1 3 3
1 4 5
2 3 5 3
19561959
19561959

提示

本题采用捆绑测试

对于所有测试数据保证:1n,q8×104,0zi1091 \le n, q \le 8 \times 10^4,0 \le z_i \le 10^9,所有命令满足 1lrn,1un1 \le l \le r \le n, 1 \le u \le n保证第一类命令的 (l,r)(l,r) 随机生成。随机生成方式如下:

  • [1,n]Z[1,n] \cap \mathrm{Z} 中等概率随机生成 ll
  • [1,n]Z[1,n] \cap \mathrm{Z} 中等概率随机生成 rr
  • l>rl>r,则交换 l,rl,r
子任务编号 分值 nn \le qq \le 特殊性质 子任务依赖
11 1010 10310^3
22 2020 6553665536 A, B
33 A 依赖于子任务 22
44 3030 依赖于子任务 1,2,31,2,3
55 2020 8000080000 依赖于子任务 1,2,3,41,2,3,4

特殊性质 A:保证所有第二类命令均在所有第一类命令之后。

特殊性质 B:保证第二类命令次数 20\le 20