Description
在 n 维空间中有一个梦想。这梦想坐落在 (d1,d2,…,dn) 的地方。而你从 (0,0,…,0) 开始,开启寻梦的旅程。
你的步伐轻缓,每一步只能走一个单位长度。你并不知道你的梦想位于哪里,所以你只能随机选择 n 个正方向中的一个,然后向这个方向走一步。也就是说,在 [1,n] 中均匀随机选择一个正整数 h,然后,使你在第 h 维的坐标变成原来的坐标加一。
然而,天有不测风云。在你走每一步的过程中,你会有 p=∑i=1kpi 的概率散入天际,并开始一段新的旅程。你会在 k 个地点中的一个重新开始这段旅程,其中第 i 个地点的坐标是 (ai,1,ai,2,…,ai,n),从这里重新开始的概率为 pi。
那么,期望下,你离到达这个梦想还需要多少步呢?
第一行,两个正整数 n,k。
第二行,n 个非负整数 d1,d2,…,dn。
接下来 k 行,第 i 行 n+1 个整数 ai,1,ai,2,…,ai,n,xi,每行最后一个整数 xi 表示 pi=xi×10−8。
输入的 xi 保证了 pi>0 且 p<1。
保证每个 xi 在所有可能的组合中等概率随机生成。
一行,一个整数,表示答案对 998244353 取模的结果。
如果你不知道如何进行实数取模:可以说明答案一定是有限的,且是有理数,设它的最简分数形式为 qp。如果存在一个整数 x 满足 x⋅q≡p(mod998244353) 且 0≤x<998244353,那么你只需输出 x 的值即可。
由于保证了 xi 是随机生成的,可以说明以接近 1 的概率答案在模意义下存在。事实上,一个当 xi 尚不确定时以合理地高的概率给出正确答案的算法足以通过本题,考察复杂的模意义下的有理数的处理不是我们的本意。
2 1
1 1
0 0 50000000
14
2 1
1 2
0 0 20000000
291154624
3 3
2 3 4
2 1 0 30000000
1 2 3 19000000
2 3 4 1000000
430536142
Hint
【样例解释 #1】
这是你的一种追寻梦想的方式:
你从 (0,0) 出发,走一步到 (1,0),再走一步到 (2,0),再走一步到 (3,0),但是在路上散入天际,从 (0,0) 重新开始旅程。
然后继续从 (0,0) 出发,走一步到 (0,1),再走一步到 (1,1),但是在路上散入天际,从 (0,0) 重新开始旅程。
接着从 (0,0) 出发,走一步到 (1,0),再走一步到 (1,1),找到了你的梦想。
在这种情况下,你需要 7 步到达这个梦想。发生这种情况的概率是 4−7。
【样例解释 #2】
答案为 24505≈21.041667。
不难验证 291154624×24≡505(mod998244353),故应输出 291154624。
【样例解释 #3】
答案为 215191399505≈65.035782。
【数据范围】
本题采用捆绑测试且使用子任务依赖。
| 子任务编号 |
特殊限制 |
分值 |
| 1 |
n=1,k=1 |
11 |
| 2 |
n=1 |
12 |
| 3 |
k=1 |
| 4 |
n=2,1≤d1⋅d2≤200 |
13 |
| 5 |
k≤200 |
22 |
| 6 |
无特殊限制 |
30 |
对于 100% 的数据:
- 1≤n≤100,1≤k≤10000。
- di≥0,∑idi≤107。
- 0≤ai,j≤107。
- xi≥1,∑ixi<108。此即保证了 pi>0 和 p<1。
- 保证存在一个 i∈[1,k] 使得对于每个 j∈[1,n] 均有 ai,j≤dj。
- 保证每个 (ai,1,ai,2,…,ai,n) 作为空间中的点互不相同。
- 保证每个 xi 在所有可能的组合中等概率随机生成。
【提示】
由于保证了 xi 是随机生成的,可以说明以接近 1 的概率答案在模意义下存在。事实上,一个当 xi 尚不确定时以合理地高的概率给出正确答案的算法足以通过本题,考察复杂的模意义下的有理数的处理不是我们的本意。
样例中的 xi 不是随机生成的,仅为理解题意所用。