luogu#P5472. [NOI2019] 斗主地

[NOI2019] 斗主地

题目背景

时限 4 秒 内存 512MB

题目描述

小 S 在和小 F 玩一个叫“斗地主”的游戏。

可怜的小 S 发现自己打牌并打不过小 F,所以他想要在洗牌环节动动手脚。

一副牌一共有 nn 张牌,从上到下依次标号为 1n1 \sim n。标号为 ii 的牌分数f(i)f(i)。在本题,f(i)f(i) 有且仅有两种可能:f(i)=if(i) = if(i)=i2f(i) = i^2

洗牌的方式和我们日常生活中的比较类似,以下我们用形式化的语言来定义: 洗牌环节一共分 mm 轮,这 mm 轮洗牌依次进行。第 ii 轮洗牌时:

  1. 小 S 会拿出从最上面往下数的前 AiA_i 张牌。这样这副牌就被分成了两堆:第一堆 是最上面的 AiA_i 张牌,第二堆是剩下的 nAin-A_i 张牌,且这两堆牌内相对顺序不变。 特别地,当Ai=nA_i = nAi=0A_i = 0 时,有一堆牌是空的。
  2. 接下来对两堆牌进行合并,从而产生新的第三堆牌。当第一堆牌还剩下 XX 张,第二堆牌还剩下 YY 张的时候,以 XX+Y\dfrac{X}{X+Y} 的概率取出第一堆牌的最下面的牌,并将它 放入新的第三堆牌的最上面, YX+Y\dfrac{Y}{X+Y} 的概率取出第二堆牌的最下面的牌,并将它放入新的第三堆牌的最上面
  3. 重复操作 22,一直取到两堆牌都为空为止。这样我们就完成了一轮洗牌。

因为洗牌过程是随机的,所以小 S 发现自己没法知道某个位置上具体是哪张牌。但小 S 想问你在经历了这 mm 轮洗牌后,某个位置上的牌的期望分数是多少。小 S 一共会问你 QQ 个这样的问题。

输入格式

输入的第一行包含三个正整数 n,m,typen, m, type,分别表示牌的数量,洗牌的轮数与 f(i)f(i) 的类型。当 type=1type = 1 时,f(i)=if(i) = i。当 type=2type = 2 时,f(i)=i2f(i) = i^2

接下来一行,一共 mm 个整数,表示 A1AmA_1 \sim A_m

接下来一行一个正整数 QQ,表示小 S 的询问个数。 接下来 QQ 行,每行一个正整数 cic_i,表示小 S 想要知道从上往下第 cic_i 个位置上的牌的期望分数

保证 1cin1 \leq c_i \leq n

输出格式

输出一共 QQ 行,每行一个整数,表示答案在模 998244353998244353 意义下的取值。

即设答案化为最简分式后的形式为 ab\dfrac{a} {b},其中 aabb 互质。输出整数 xx 使得 bxa(mod998244353)bx \equiv a \pmod{998244353}0x<9982443530 ≤ x < 998244353。可以证明这样的整数 xx 是唯一的。

4 1 1
3
1
1
249561090

提示

更多样例

您可以通过附加文件获得更多样例。

样例 2

见附加文件中的 landlords/landlords2.inlandlords/landlords2.ans

样例 3

见附加文件中的 landlords/landlords3.inlandlords/landlords3.ans

样例输入输出 1 解释

  • 14\dfrac{1}{4} 的概率从上到下的最终结果是 {1,2,3,4}\{1, 2, 3, 4\}
  • 14\dfrac{1}{4} 的概率从上到下的最终结果是 {1,2,4,3}\{1, 2, 4, 3\}
  • 14\dfrac{1}{4} 的概率从上到下的最终结果是 {1,4,2,3}\{1, 4, 2, 3\}
  • 14\dfrac{1}{4} 的概率从上到下的最终结果是 {4,1,2,3}\{4, 1, 2, 3\}

所以最终有 14\dfrac{1}{4} 的概率第一个位置是 44,有 34\dfrac{3} {4} 的概率第一个位置是 11,所以第一个位置的期望分数是 74\dfrac{7}{ 4}

为了帮助你们更直观地了解洗牌的过程,我们在下面画出了结果是 {1,4,2,3}\{1, 4, 2, 3\} 的过程。

数据规模与约定

对于全部的测试点,保证 3n1073\le n \le 10^71m,Q5×1051\le m,Q\le5\times 10^50Ain0\le A_i\le ntype{1,2}type\in \{1,2\}

每个测试点的具体限制见下表:

测试点 nn mm type=type= 其他性质
11 10\le 10 1\le 1 11
22 80\le 80
33 22
44 100\le 100 5×105\le 5\times 10^5 所有 AiA_i 相同
55 107\le 10^7 11
66
77
88 22
99
1010

请注意我们并没有保证 QnQ\le n

提示

这里我们给出离散型随机变量 XX 的期望 E[x]\mathbb{E}[x] 的定义:

设离散随机变量 XX 的可能值是 X1,X2,XkX_1,X_2,\ldots X_kPr[X1],Pr[X2],,Pr[Xk]Pr[X_1],Pr[X_2],\ldots,Pr[X_k]XX 取对应值的概率,则 XX 的期望为:

E[x]=i=1kXi×Pr[Xi]\mathbb{E}[x]=\sum^k_{i=1}X_i\times Pr[X_i]