#P12416. 多项式高手

    ID: 12038 Type: RemoteJudge 600~3000ms 512MiB Tried: 0 Accepted: 0 Difficulty: 6 Uploaded By: Tags>动态规划 DP多项式组合数学生成函数根号分治

多项式高手

题目描述

已知非负整数数列 b1,b2,,bnb_1,b_2,\cdots,b_n 的值,另有非负整数数列 aa 满足 a1+a2++an=ma_1+a_2+\cdots+a_n = ma1a2ana_1\le a_2\le\cdots\le a_n。请求出对于所有满足条件的数列 aaa1b1+a2b2++anbna_1b_1+a_2b_2+\cdots+a_nb_n 的和。由于答案可能很大,你只需要输出答案对 109+710^9+7 取模的结果。

输入格式

第一行两个正整数 n,mn, m

第二行 nn 个整数 b1,b2,,bnb_1,b_2,\cdots,b_n

输出格式

输出一行,表示所有 a1b1+a2b2++anbna_1 b_1 + a_2 b_2 + \cdots + a_n b_n 的和对 109+710^9+7 取模的结果。

1 6
7
42
2 6
9 7
180
3 3
9 5 7
61
6 6
250863180 814744283 795773454 638846422 603293402 952439325
162287374

提示

样例解释

【样例 1 解释】

当且仅当 a1=6a_1=6 时满足条件,所以答案为 a1×b1=6×7=42a_1\times b_1=6\times7=42

【样例 2 解释】

共有 44 种可能的数列 aa

  • a1=0a_1=0a2=6a_2=6 时式子的值为 0×9+6×7=420\times9+6\times7=42
  • a1=1a_1=1a2=5a_2=5 时式子的值为 1×9+5×7=441\times9+5 \times7=44
  • a1=2a_1=2a2=4a_2=4 时式子的值为 2×9+4×7=462\times9+4\times7=46
  • a1=3a_1=3a2=3a_2=3 时式子的值为 3×9+3×7=483\times9+3\times7= 48

故答案为 42+44+46+48=18042+44+46+48=180

【样例 3 解释】

共有 33 种可能的数列 aa

  • a1=0a_1=0a2=0a_2=0a3=3a_3=3 时式子的值为 0×9+0×5+3×7=210\times9+0\times5+3\times7=21
  • a1=0a_1=0a2=1a_2=1a3=2a_3=2 时式子的值为 0×9+1×5+2×7=190\times9+1\times5+2\times7=19
  • a1=1a_1=1a2=1a_2=1a3=1a_3=1 时式子的值为 1×9+1×5+1×7=211\times9+1\times5+1\times7=21

故答案为 21+19+21=6121+19+21=61

大样例

【样例 5】

见选手目录下的 mtt/mtt5.inmtt/mtt5.out

这个样例满足测试点 33 的约束条件。

【样例 6】

见选手目录下的 mtt/mtt6.inmtt/mtt6.out

这个样例满足测试点 66 的约束条件。

【样例 7】

见选手目录下的 mtt/mtt7.inmtt/mtt7.out

这个样例满足测试点 88 的约束条件。

【样例 8】

见选手目录下的 mtt/mtt8.inmtt/mtt8.out

这个样例满足测试点 99 的约束条件。

数据范围

空间限制 512MB512\text{MB}。保证时空限制均为 std\text{std}22 倍以上。

对于所有数据,$1\le n\le10^5;~1\le m\le110,000;~n\le m\le n+10^4;~0\le b_i<10^9+7$。

测试点 n=n= m=m= 时间限制
11 22 66 1s1\text s
22 66
33 5050 9999
44 100100 199199
55 500500 999999
66 50005000 50005000
77 99999999
88 10510^5 10510^5 3s3\text s
99 100100100100
1010 110000110000 0.6s0.6\text s

出题人员

Idea:不知名用户,Solution:Konata28 & 不知名用户,Code:Konata28 & Milmon & 不知名用户,Data:不知名用户,Check:Milmon & Konata28。

本题来源于 2024.10.22 CSP-S 模拟赛。因为原版题目模数是 998244353998244353,所以原版英文名为 ntt。数据点范围配置和时空限制相对原版题目略有改动。