最新公告
  • 欢迎您光临信息学奥赛网,一个优质的信息学编程题库和信息学编程学习资源专业网站。欢迎加入VIP
  • Count Seconds

    正文概述 陈老师   2026-01-20 15:16:03  

    题目描述

    Cirno 有一个有向无环图(DAG),包含 nn 个节点和 mm 条边。图中恰好有一个节点没有出边。第 ii 个节点上有一个整数 aia_i

    每秒会发生以下操作:

    • SS 为所有满足 ax>0a_x>0 的节点 xx 的集合。
    • 对于所有 xSx∈Saxa_x 减去 11,然后对于每个节点 yy,如果存在一条从 xxyy 的边,aya_y 加上 11

    求第一次所有 aia_i 变为 00 的时刻。由于答案可能非常大,输出其对 998244353998244353 取模的结果。

    输入格式

    第一行包含一个整数 tt (1t1000)(1≤t≤1000) —— 测试用例的数量。接下来是每个测试用例的描述。

    每个测试用例的第一行包含两个整数 nnmm (1n, m1000)(1≤n,\ m≤1000) —— 图中节点的数量和边的数量。

    每个测试用例的第二行包含 nn 个整数 a1a_1a2a_2ana_n (0ai109)(0≤a_i≤10^9) —— 节点上的整数。

    接下来的 mm 行,每行包含两个整数 xxyy (1x, yn)(1≤x,\ y≤n),表示一条从 xxyy 的有向边。保证图是一个没有重边的 DAG,并且恰好有一个节点没有出边。

    保证所有测试用例的 nn 之和与 mm 之和均不超过 1000010000

    输出格式

    对于每个测试用例,在一行中输出一个整数——第一次所有 aia_i 变为 00 的时刻,对 998244353998244353 取模。

    样例

    5
    3 2
    1 1 1
    1 2
    2 3
    5 5
    1 0 0 0 0
    1 2
    2 3
    3 4
    4 5
    1 5
    10 11
    998244353 0 0 0 998244353 0 0 0 0 0
    1 2
    2 3
    3 4
    4 5
    5 6
    6 7
    7 8
    8 9
    9 10
    1 3
    7 9
    5 6
    1293 1145 9961 9961 1919
    1 2
    2 3
    3 4
    5 4
    1 4
    2 4
    6 9
    10 10 10 10 10 10
    1 2
    1 3
    2 3
    4 3
    6 3
    3 5
    6 5
    6 1
    6 2
    
    3
    5
    4
    28010
    110
    

    提示

    样例1解释

    在第一个测试用例中:

    • 在时刻 00,节点的值为 [1,1,1][1,1,1]
    • 在时刻 11,节点的值为 [0,1,1][0,1,1]
    • 在时刻 22,节点的值为 [0,0,1][0,0,1]
    • 在时刻 33,节点的值为 [0,0,0][0,0,0]

    因此答案为 33

    在第二个测试用例中:

    • 在时刻 00,节点的值为 [1,0,0,0,0][1,0,0,0,0]
    • 在时刻 11,节点的值为 [0,1,0,0,1][0,1,0,0,1]
    • 在时刻 22,节点的值为 [0,0,1,0,0][0,0,1,0,0]
    • 在时刻 33,节点的值为 [0,0,0,1,0][0,0,0,1,0]
    • 在时刻 44,节点的值为 [0,0,0,0,1][0,0,0,0,1]
    • 在时刻 55,节点的值为 [0,0,0,0,0[0,0,0,0,0]。

    因此答案为 55

    在第三个测试用例中:

    所有 aia_i 首次变为 00 的时刻是 6998244353+46⋅998244353+4

    信息学奥赛网,一个优质的信息学奥赛学习资源平台!
    信息学奥赛网 » Count Seconds