luogu#P11448. 「ALFR Round 3」D 核裂变

    ID: 35202 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 难度: 4 上传者: 标签>洛谷原创O2优化广度优先搜索 BFS洛谷月赛

「ALFR Round 3」D 核裂变

题目背景

English Statement.

可爱的松鼠跑去学 PhO 啦。

题目描述

nn 个放射性原子要进行 kk 秒的裂变反应。如果在第 tt 秒开始时原子 iib (b>0)b\ (b>0) 个中子轰击了,那它就会在第 tt 秒内释放 ai+ba_i + b 单位能量,并向编号为 xi,1,xi,2,,xi,aix_{i,1},x_{i,2},\dots,x_{i,a_i} 的所有原子各释放 11 个中子。这样,在第 t+1t+1 秒开始时分别击中的 xi,1,xi,2,,xi,aix_{i,1},x_{i,2},\dots,x_{i,a_i} 的中子数量都将增加 11如果 t=kt=k,即这是最后一秒,那么被轰击的原子不会释放中子)。如果在这一秒开始时某个原子没被中子击中,则其不会释放能量与中子。

每一秒开始时,编号为 v1,v2,,vmv_1,v_2,\dots,v_m 的原子都会被 11 个中子轰击。那么,从第 11 秒开始,到第 kk 秒的终止时刻为止,每个原子会释放多少能量?

答案对 998244353998244353 取模!

输入格式

第一行三个整数 n,k,mn,k,m,表示原子的个数,反应的时间与每一秒开始时被轰击的原子数。

接下来一行 mm 个整数 v1,v2,,vmv_1,v_2,\dots,v_m

接下来 nn 行输入每个原子的信息,格式如下:

iiai+1a_i + 1 个整数,第一个数为 aia_i,接下来 aia_i 个数 xi,1,xi,2,,xi,aix_{i,1},x_{i,2},\dots,x_{i,a_i}

输出格式

输出 11 行,共 nn 个数,第 ii 个数是原子 ii 从第 11 秒开始,到第 kk 秒的终止时刻为止释放的总能量,答案对 998244353998244353 取模。

3 3 1
1
1 2
1 3
1 1
6 4 2

3 1000000000000000000 1
1
1 2
1 3
1 1
151723985 433897441 433897439

提示

样例 #1 解释:

  • 第一秒,原子 1111 个中子轰击,释放 11 中子到原子 22,释放 22 能量。
  • 第二秒,原子 1111 个中子轰击,释放 11 中子到原子 22,释放 22 能量。同时原子 2211 个中子轰击,释放 11 个中子到原子 33,释放 22 能量。
  • 第三秒,原子 1111 个中子轰击,释放 22 能量。同时原子 2211 个中子轰击,释放 22 能量。同时原子 3311 个中子轰击,释放 22 能量。

所以原子 11 共释放了 66 能量,原子 22 释放了 44 能量,原子 33 释放了 22 能量。

数据范围

子任务 分值 限制
00 55 m=n,vi=i,ai=1,xi,1=1m=n,v_i=i,a_i=1,x_{i,1}=1
11 1010 m=1,v1=1,ai=1,xi,1=(imodn)+1m=1,v_1=1,a_i=1,x_{i,1}=(i\bmod n)+1
22 2020 n,ai103n,\sum a_i\le10^31k1061\le k\le10^6
33 3030 1k1061\le k\le10^6
44 3535 -

对于所有数据,$1\le m\le n\le 5\times10^5,1\le \sum a_i\le5\times10^5$,1k10181\le k\le10^{18}0ai5×1050 \leq a_i \leq 5 \times 10^5,且 v1,v2,,vmv_1,v_2,\dots,v_m 互不相同且是 [1,n][1,n] 内的整数,xi,1,xi,2,,xi,aix_{i,1},x_{i,2},\dots,x_{i,a_i} 互不相同且是 [1,n][1,n] 内的整数。

本题输入量较大,请使用较快的 I/O 方式。