/ Vijos / 题库 /

数列

数列

时间限制:1秒  内存限制:256M


【题目描述】

  给定整数 \(n, m, k\),和一个长度为 \(m + 1\) 的正整数数组 \(v_0, v_1, ... , v_m\)。
  对于一个长度为 \(n\),下标从 1 开始且每个元素均不超过 \(m\) 的非负整数序列 \({a_i}\),我们定义它的权值为 \(v_{a_1} × v_{a_2} × · · · × v_{a_n}\)。
  当这样的序列 \({a_i}\) 满足整数 \(S = 2^{a_1} + 2^{a_2} + ... + 2^{a_n}\) 的二进制表示中 1 的个数不超过 \(k\) 时,我们认为 \({a_i}\) 是一个合法序列。
  计算所有合法序列 \({a_i}\) 的权值和对 998244353 取模的结果。

【输入格式】

  输入的一行是三个整数 \(n, m, k\)。
  第二行 \(m + 1\) 个整数,分别是 \(v_0, v_1, ... , v_m\)。

【输出格式】

  仅一行一个整数,表示所有合法序列的权值和对 998244353 取模的结果。

【输入输出样例1】

 Input

5 1 1
2 1

 Output

40

【样例1解释】

  由于 \(k = 1\),而且由 \(n ≤ S ≤ n × 2^m\) 知道 \(5 ≤ S ≤ 10\),合法的 \(S\) 只有一种可能:\(S = 8\),这要求 \(a\) 中必须有 2 个 0 和 3 个 1,于是有 \((_5^2) = 10\) 种可能的序列,每种序列的贡献都是 \(v_0^2v_1^3 = 4\),权值和为 \(10 × 4 = 40\)。

【数据限制】

说明

【来源】

  Mr.he

信息

ID
2413
难度
(无)
分类
动态规划 | 背包 点击显示
标签
递交数
0
已通过
0
通过率
?
上传者