题库/S0118

#S0118. 【21NOIP提高组】数列

    传统题 难度: 普及+ 标签>一本通状态定义、转移与边界杨辉三角与组合递推模运算、取余与规范化
时间限制1000 ms
内存限制512 MiB
通过率—0 / 0 次提交
题目描述 查看题解 开始编程Alt+E

S0118 · 【21NOIP提高组】数列

退出在线编程模式
普及+ 读懂题意,让每一次思考成为成长。
时间限制1000 ms
内存限制512 MiB
通过率—0 / 0 次提交

题目描述

给定整数 nn,mm, kk,和一个长度为m+1m + 1 的正整数数组 v0v_0, v1v_1, · · · ,vmv_m。 对于一个长度为 nn,下标从 11 开始且每个元素均不超过 mm 的非负整数序列 {aia_i},我们定义它的权值为 va1v_{a_1} × va2v_{a_2} × · · · × vanv_{a_n}。 当这样的序列 {aia_i} 满足整数 SS = 2a12^{a_1} + 2a22^{a_2} + · · · + 2an2^{a_n} 的二进制表示中 11 的个数不超过 kk 时,我们认为 {aia_i} 是一个合法序列。 计算所有合法序列 {aia_i} 的权值和对 998244353998244353 取模的结果。

输入

输入的一行是三个整数 nn, mm, kk。 第二行 m+1m + 1 个整数,分别是 v0v_0, v1v_1, · · · , vmv_m。

输出

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

输入样例

5 1 1
2 1

输出样例

40

提示

【样例解释】 由于 k=1k = 1,而且由 n≤S≤n×2mn ≤ S ≤ n × 2^m 知道 5≤S≤105 ≤ S ≤ 10,合法的 SS 只有一种可能: S=8S = 8,这要求 aa 中必须有 22 个 00 和 33 个 11,于是有 (25)=10(^5_2) = 10 种可能的序列,每种序列的贡献都是 v02v13=4v_0^2v_1^3= 4,权值和为 10×4=4010 × 4 = 40。 对所有测试点保证 1≤k≤n≤301 ≤ k ≤ n ≤ 30, 0≤m≤1000 ≤ m ≤ 100, 1 ≤ v_i < 998244353。

测试点 n k m
1 ∼ 4 = 8≤ n= 9
5 ∼ 7= 30= 7
8 ∼ 10 = 12
11 ∼ 13 = 1 = 100
14 ∼ 15 = 5≤ n= 50
16 = 15 = 100
17 ∼ 18= 30= 30
19 ∼ 20 = 100

评测数据说明

本题使用按题意独立构造、以独立程序核对的训练数据及公开样例,共6个测试点,非原站或官方原始数据。总分100分。