CF434E.Furukawa Nagisa's Tree

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

有一天,冈崎朋也买了一棵树作为古河渚的生日礼物。这棵树非常奇怪,每个节点都有一个值。第 ii 个节点的值为 viv_i。现在,古河渚和冈崎朋也想在这棵树上玩一个游戏。

设 (s,e)(s, e) 表示从节点 ss 到节点 ee 的路径,我们可以记录下该路径上节点的值序列,记作 S(s,e)S(s, e)。我们定义该序列的值 G(S(s,e))G(S(s, e)) 如下。假设序列为 z0,z1,…,zl−1z_0, z_1, \ldots, z_{l-1},其中 ll 是序列的长度。则有 G(S(s,e))=z0×k0+z1×k1+⋯+zl−1×kl−1G(S(s, e)) = z_0 \times k^{0} + z_1 \times k^{1} + \cdots + z_{l-1} \times k^{l-1}。如果路径 (s,e)(s, e) 满足

G(S(s,e))≡x(mody)G(S(s, e)) \equiv x \pmod{y}

则该路径 (s,e)(s, e) 属于古河渚,否则属于冈崎朋也。

计算谁拥有更多的路径太简单了,所以他们想玩更难的。古河渚认为如果路径 (p1,p2)(p_1, p_2) 和 (p2,p3)(p_2, p_3) 都属于她,则路径 (p1,p3)(p_1, p_3) 也属于她。同时她还认为,如果路径 (p1,p2)(p_1, p_2) 和 (p2,p3)(p_2, p_3) 都属于冈崎朋也,则路径 (p1,p3)(p_1, p_3) 也属于冈崎朋也。不过实际上,这一结论并不总是正确的。现在古河渚想知道,对于多少个三元组 (p1,p2,p3)(p_1, p_2, p_3),她的结论是正确的,这就是你的任务。

输入格式

第一行包含四个整数 nn、yy、kk 和 xx(1≤n≤1051 \leq n \leq 10^5,2≤y≤1092 \leq y \leq 10^9,1≤k<y1 \leq k < y,0≤x<y0 \leq x < y),其中 nn 表示树上的节点个数。保证 yy 是质数。

第二行包含 nn 个整数,第 ii 个整数为 viv_i(0≤vi<y0 \leq v_i < y)。

接下来 n−1n-1 行,每行包含两个正整数,表示树上的一条边。节点编号为 11 到 nn。

输出格式

输出一个整数,表示满足古河渚结论正确的三元组数量。

输入输出样例

  • 输入#1

    1 2 1 0
    1
    

    输出#1

    1
    
  • 输入#2

    3 5 2 1
    4 3 1
    1 2
    2 3
    

    输出#2

    14
    
  • 输入#3

    8 13 8 12
    0 12 7 4 12 0 8 12
    1 8
    8 4
    4 6
    6 2
    2 3
    8 5
    2 7
    

    输出#3

    341
    

说明/提示

由 ChatGPT 5 翻译

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

首页