AT_arc195_e.[ARC195E] Random Tree Distance

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个整数列 A=(A2,A3,…,AN)A = (A_2, A_3, \ldots, A_N)。对于每个满足 1≤Pi≤i−11 \leq P_i \leq i-1(2≤i≤N2 \leq i \leq N)的整数序列 P=(P2,P3,…,PN)P = (P_2, P_3, \ldots, P_N),定义以顶点 11 为根的 NN 顶点带权树 T(P)T(P) 如下:

  • 对于每个 ii(2≤i≤N2 \leq i \leq N),顶点 ii 的父节点为 PiP_i,且连接 ii 与 PiP_i 的边权值为 AiA_i。

现需处理 QQ 个查询。第 ii 个查询形式如下:

  • 给定两个整数 ui,viu_i, v_i(1≤ui<vi≤N1 \leq u_i < v_i \leq N),求所有可能的 (N−1)!(N-1)! 种 PP 序列对应的树 T(P)T(P) 中,顶点 uiu_i 与 viv_i 之间距离的总和对 998244353998244353 取模后的结果。其中,顶点 uiu_i 与 viv_i 的距离定义为连接它们的唯一简单路径上的边权总和。

输入格式

输入通过标准输入给出,格式如下:

NN QQ
A2A_2 A3A_3 …\ldots ANA_N
u1u_1 v1v_1
u2u_2 v2v_2
⋮\vdots
uQu_Q vQv_Q

输出格式

输出 QQ 行,每行对应一个查询的答案。

输入输出样例

  • 输入#1

    3 2
    1 1
    1 2
    1 3

    输出#1

    2
    3
  • 输入#2

    2 1
    100
    1 2

    输出#2

    100
  • 输入#3

    9 6
    765689282 93267307 563699854 951829154 801512848 389123318 924504746 596035433
    3 8
    2 5
    5 8
    2 9
    8 9
    5 7

    输出#3

    55973424
    496202632
    903509579
    343265517
    550981449
    68482696

说明/提示

约束条件

  • 2≤N≤2×1052 \leq N \leq 2 \times 10^5
  • 1≤Q≤2×1051 \leq Q \leq 2 \times 10^5
  • 1≤Ai≤1091 \leq A_i \leq 10^9
  • 1≤ui<vi≤N1 \leq u_i < v_i \leq N
  • 输入中的所有值均为整数

样例解释 1

  • 当 P=(1,1)P = (1, 1) 时,树 T(P)T(P) 中顶点 11 与 22 的距离为 11,顶点 11 与 33 的距离为 11。
  • 当 P=(1,2)P = (1, 2) 时,树 T(P)T(P) 中顶点 11 与 22 的距离为 11,顶点 11 与 33 的距离为 22。

因此,所有 PP 对应的顶点 11 与 22 的距离总和为 22,顶点 11 与 33 的距离总和为 33。

样例解释 3

注意最终需输出总和对 998244353998244353 取模后的结果。

翻译由 DeepSeek R1 完成

输入解题思路,AI测评打分。不知道怎么写?

首页