CF2135C.By the Assignment

普及+/提高

通过率:0%

AC君温馨提醒

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

题目描述

给定一个无向连通图,包含 nn 个顶点,第 ii 个顶点的权值为 viv_i。我们定义一条简单路径 l1,l2,…,lml_1, l_2, \ldots, l_m 的值为 vl1⊕vl2⊕⋯⊕vlmv_{l_1} \oplus v_{l_2} \oplus \cdots \oplus v_{l_m}。我们称图是“平衡”的,当且仅当:

  • 对于任意 1≤p<q≤n1 \le p < q \le n,所有从 pp 到 qq 的简单路径的值都相同。

Aquawave 给你一个包含 nn 个顶点 mm 条边的无向连通图,每个顶点 ii 的权值为 aia_i。但部分权值未知,以 −1-1 表示。

Aquawave 想要为所有 ai=−1a_i = -1 的顶点分配一个 00 到 V−1V-1 之间的整数权值,使得该图是“平衡”的。

你的任务是帮助 Aquawave 计算总共有多少种权值分配方案可以让图平衡,答案对 998 244 353998\,244\,353 取模。

注1:一条从顶点 cc 到 dd 的简单路径是顶点序列 l1,l2,…,lml_1, l_2, \ldots, l_m,其中 l1=cl_1=c,lm=dl_m=d,任意相邻两个顶点之间有边连接,且所有顶点不重复,即 li≠ljl_i \ne l_j。

注2:⊕\oplus 表示 按位异或运算。

输入格式

每个测试点包含多组测试数据。第一行一个整数 tt (1≤t≤1041 \le t \le 10^4),表示测试组数。

每组测试数据的第一行包含三个整数 n,m,Vn, m, V(2≤n≤2⋅1052 \le n \le 2 \cdot 10^5,n−1≤m≤min⁡(n(n−1)2,4⋅105)n-1 \le m \le \min\left(\frac{n(n-1)}{2}, 4 \cdot 10^5\right),1≤V≤1091 \le V \le 10^9)——顶点数、边数和权值上界。

第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_n(−1≤ai≤V−1-1 \le a_i \le V-1)——每个顶点的权值,ai=−1a_i=-1 表示第 ii 个顶点的权值未知。

接下来 mm 行,每行两个整数 u,vu, v(1≤u,v≤n1 \le u, v \le n),表示一条无向边连接 uu 和 vv。

保证给定图是简单图且连通。

保证所有测试数据中 nn 之和不超过 2⋅1052 \cdot 10^5,mm 之和不超过 4⋅1054 \cdot 10^5。

输出格式

对于每组测试数据,输出一个整数,表示能使图平衡的权值分配方案数,对 998 244 353998\,244\,353 取模。

输入输出样例

  • 输入#1

    5
    4 4 4
    -1 -1 -1 -1
    1 2
    2 3
    1 3
    4 3
    5 6 7
    2 2 -1 2 2
    1 2
    1 3
    1 4
    2 5
    3 5
    4 5
    7 8 9
    -1 -1 -1 -1 0 -1 0
    1 2
    2 3
    3 4
    1 4
    1 5
    5 6
    7 6
    7 5
    5 8 1000000000
    1 2 3 4 -1
    1 2
    3 2
    3 5
    5 1
    2 4
    4 3
    2 5
    1 4
    5 4 1000000000
    -1 2 -1 3 -1
    1 2
    1 3
    2 4
    2 5

    输出#1

    4
    1
    9
    0
    747068572

说明/提示

在第一个样例中,有四种分配方式:

  • a=[0,0,0,0]a=[0,0,0,0];
  • a=[0,0,0,1]a=[0,0,0,1];
  • a=[0,0,0,2]a=[0,0,0,2];
  • a=[0,0,0,3]a=[0,0,0,3]。

可证明每种分配都能使图平衡。

在第二个样例中,任选 (p,q)=(1,5)(p,q)=(1,5)。简单路径 1→2→51 \to 2 \to 5 的值为 2⊕2⊕2=22 \oplus 2 \oplus 2=2,而 1→3→51 \to 3 \to 5 的值为 2⊕a3⊕2=a32 \oplus a_3 \oplus 2=a_3,因此 a3a_3 只能为 22。可验证 a3=2a_3=2 能使图平衡。

在第五个样例中,给定图是一棵树,所以任意两个顶点之间仅有一条简单路径。此时每个 aia_i 都可以任意取 00 到 V−1V-1,方案数为 1 000 000 0003 mod 998 244 353=747 068 5721\,000\,000\,000^3 \bmod 998\,244\,353 = 747\,068\,572。

由 ChatGPT 5 翻译

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

首页