A6743. 「GDKOI-S 2023」马戏团里你最忙
编程题
NOI/NOI+/CTSC
知识点
题目描述
你正在马戏团里表演一个节目。
有一个数字,初始是 $x_0$。进行 $K$ 次操作,第 $i$ 次操作从 $[0, 2^n)$ 均匀随机一个数字 $x$,$x_i$ 有 $p$ 的概率是 $x_{i - 1} \operatorname{or} x$,有 $1 - p$ 的概率是 $x_{i - 1} \operatorname{and} x$。
一种方案的权值是 $\sum_{i=1}^k c_{x_{i}}$。对每个 $i \in [0, 2^n)$ 求出,$x_K = i$ 的所有方案中,权值乘概率之和,对 $998244353$ 取模。
有一个数字,初始是 $x_0$。进行 $K$ 次操作,第 $i$ 次操作从 $[0, 2^n)$ 均匀随机一个数字 $x$,$x_i$ 有 $p$ 的概率是 $x_{i - 1} \operatorname{or} x$,有 $1 - p$ 的概率是 $x_{i - 1} \operatorname{and} x$。
一种方案的权值是 $\sum_{i=1}^k c_{x_{i}}$。对每个 $i \in [0, 2^n)$ 求出,$x_K = i$ 的所有方案中,权值乘概率之和,对 $998244353$ 取模。
输入格式
第一行四个整数 $n, p', K, x_0$。$p'$ 为 $p$ 在模 $998244353$ 意义下的值。
第二行 $2^n$ 个整数,第 $i$ 个表示 $c_{i−1}$。
第二行 $2^n$ 个整数,第 $i$ 个表示 $c_{i−1}$。
输出格式
输出一行 $2^n$ 个用空格隔开整数,第 $i$ 个表示 $x_K = i - 1$ 的所有方案中,权值乘概率之和,对 $998244353$ 取模。
输入输出样例
输入 #1
2 499122177 2 1 1 1 1 1
输出 #1
374341633 374341633 873463809 374341633
输入 #2
2 332748118 10 0 1 2 4 8
输出 #2
178690412 406663623 594339846 223292982
说明/提示
对于 20% 的数据,满足 $K ≤ 20$。
对于 40% 的数据,满足 $K ≤ 10^3$。
对于另外 10% 的数据,满足 $n = 1$。
对于另外 10% 的数据,满足 $n ≤ 8$。
对于另外 10% 的数据,满足 $p' = 499122177$。
对于另外 10% 的数据,满足 $c_i = 1$。
对于 100% 的数据,满足 $0 ≤ n ≤ 17$,$ 1 ≤ K ≤ 10^9$,$0 ≤ x_0 < 2^n$,$ 0 ≤ p', c_i < 998244353$。
对于 40% 的数据,满足 $K ≤ 10^3$。
对于另外 10% 的数据,满足 $n = 1$。
对于另外 10% 的数据,满足 $n ≤ 8$。
对于另外 10% 的数据,满足 $p' = 499122177$。
对于另外 10% 的数据,满足 $c_i = 1$。
对于 100% 的数据,满足 $0 ≤ n ≤ 17$,$ 1 ≤ K ≤ 10^9$,$0 ≤ x_0 < 2^n$,$ 0 ≤ p', c_i < 998244353$。