#luoguP12181. DerrickLo's Buildings (UBC002D)
DerrickLo's Buildings (UBC002D)
本题没有可用的提交语言。
题目描述
在某游戏中,DerrickLo 的任务是操作一堆建筑。这些建筑被摆放在了编号为 到 的空位上,它们的高度也分别为 到 。一开始,对于所有 ,高度为 的建筑被摆在了 号位置上。
在这个游戏中,有 个挑战。具体地,第 个挑战都会指定一个高度因数 和目标长度 ,这个挑战的得分为在重新摆放建筑后,对于所有 ,满足高度为 的建筑被摆在了 号位置的数量。注意:所有挑战的目标长度都是相同的,但高度因数是互不相同的。
为了重新摆放这些建筑,DerrickLo 需要指定一个调换排列 ,每执行一次调换,就会同时将位置 上的建筑移到 处。
由于 DerrickLo 并不是很看重得分是否最高,因此他指定的排列 将是从所有 到 的排列中等概率选取的一个。不过,他还是很好奇,对于每一个挑战 ,在他分别调换 次时,他的期望得分是多少。
由于挑战的个数以及调换的次数实在太多,DerrickLo 希望你告诉所有这些得分之和模 之后的结果。即:
$$\left(\sum_{i=1}^M\sum_{k=1}^VE\left(\sum_{j=1}^N[v_k(j) = i \times j]\right)\right)\bmod 998244353 $$其中 表示根据排列 调换了 次之后,高度为 的建筑所在的位置编号。
输入格式
本题有多组测试数据。
第一行,一个正整数 ,表示测试数据的个数。
接下来 行,每行三个整数 ,描述一个测试数据。
注意:输入数据不一定在 int
范围内。
输出格式
共 行,每行一个整数,表示答案。
1
1 2 1
1
提示
在样例中, 只有 与 两种取值。你需要计算:
当 时,;当 时,。因此,求和之后是 。
对于所有测试数据:
- 。
- 。
- 。
- 。
注意:输入数据不一定在 int
范围内。