题目名称 | 3625. [NOIP 2021]数列 |
---|---|
输入输出 | 2021sequence.in/out |
难度等级 | ★★★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 512 MiB |
测试数据 | 20 |
题目来源 | syzhaoss 于2021-11-20加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
查看题解 | 分享题解 |
通过:4, 提交:6, 通过率:66.67% | ||||
wdsjl | 100 | 0.660 s | 8.31 MiB | C++ |
小金 | 100 | 0.666 s | 8.32 MiB | C++ |
darkMoon | 100 | 1.461 s | 10.60 MiB | C++ |
00000 | 100 | 1.464 s | 30.45 MiB | C++ |
小金 | 0 | 3.856 s | 69.73 MiB | C++ |
小金 | 0 | 3.871 s | 69.76 MiB | C++ |
本题关联比赛 | |||
近5年noip/csp题目回顾 | |||
中秋节快乐! |
关于 数列 的近10条评论(全部评论) |
---|
给定整数 $n,m,k$,和一个长度为 $m + 1$ 的正整数数组 $v_0,v_1,\cdots, v_m$。
对于一个长度为 $n$,下标从 1 开始且每个元素均不超过 $m$ 的非负整数序列 $\{a_i\}$,我们定义它的权值为 $v_{a_1}\times {v_{a_2}}\times \cdots\times v_{a_n}$。
当这样的序列 $\{a_i\}$ 满足整数 $S=2^{a_1}+2^{a_2}+\cdots+2^{a_n}$的二进制表示中 1 的个数不超过 $k$ 时,我们认为 $\{a_i\}$ 是一个合法序列。
计算所有合法序列 $\{a_i\}$ 的权值和对 998244353 取模的结果。
输入的第一行是三个整数 $n,m,k$。
第二行 $m + 1$ 个整数,分别是 $v_0,v_1,\cdots, v_m$。
仅一行一个整数,表示所有合法序列的权值和对 998244353 取模的结果。
5 1 1 2 1
40
由于$k=1$,而且由$n\leq S\leq n\times 2^m$知道$5\leq S\leq 10$,合法的$S$只有一种可能:$S=8$,这要求$a$种必须有2个0和3个1,于是有$({}^{5}_{2})=10$种可能的序列,每种序列的贡献都是$v_0^2v_1^3=4$,权值和为$10\times 4=40$。
对所有测试点保证$1\leq k\leq n\leq 30, 0\leq m\leq 100,1\leq v_i<998244353$。
NOIP 2021 Task2