题目背景
作为唯一一道有背景的题,此题由出题人基于
https://www.luogu.com.cn/user/322075
“子集”便是本题中 k=n−1 的情况。
题目描述
给定一个有 n 个元素的序列 a。
定义一个有 x 个元素的序列 s 的值为:
i=1∑xsi×i=1∏xsi将序列 a 的一个有 x 个元素的子序列表示为 s={ap1,ap2,...,apx},其中 p 为严格单调递增的序列,1≤p1≤px≤n 。
给定整数 k,定义序列 a 的一个有 x 个元素的合法的子序列 s 需满足 px−p1≤k。
求序列 a 的所有合法子序列的值之和对 mod 取模的值。
输入格式
第一行三个整数,n,k,mod 。
第二行 n 个整数,ai。
输出格式
一行一个整数表示答案对 mod 取模的值。
提示
大样例
【样例解释】:
样例1:
-
所有合法的子序列为 {1},{2},{3},{4},{1,2},{2,3},{3,4}
-
答案为 1×1+2×2+3×3+4×4+(1+2)×1×2+(2+3)×2×3+(3+4)×3×4=150
样例2:
- 所有合法的子序列为 {2},{3},{4},{2,3},{3,4},{2,4},{2,3,4}, 答案为 407mod114=65。
【数据范围】:
数据点编号 |
n≤ |
特殊性质 |
1∼4 |
20 |
无 |
5∼11 |
103 |
12 |
106 |
k=0 |
13∼14 |
105 |
ai=1 |
15∼17 |
mod=109+7 |
18∼22 |
无 |
23∼25 |
106 |
- 对于 100% 的数据,0≤k<n≤106,1≤ai≤109,1≤mod≤109+7