#J1021. 大力计算
大力计算
题目描述
给你一个由 个整数构成的可重复集合 ,假设 为该集合的一个子集 ,则 。
假设 表示所有元素个数为 的子集的 值之和,即 。
分别求出 的值(输出答案对 取模的结果)。
输入格式
第一行一个整数 。
第二行 个整数 。
输出格式
一行 个数,表示 。
输入输出样例 #1
输入 #1
5
1 2 3 4 5
输出 #1
55 390 840 730 225
说明/提示
对于所有测试点,满足:。
给你一个由 n 个整数构成的可重复集合 T={a1∼an},假设 S 为该集合的一个子集 {b1∼bk},则 f(S)=(b1+b2+⋯+bk)2。
假设 g(i) 表示所有元素个数为 i 的子集的 f 值之和,即 g(i)=∑S⊆Tand ∣S∣=if(S)。
分别求出 g(1)∼g(n)的值(输出答案对 109+7 取模的结果)。
第一行一个整数 n。
第二行 n 个整数 a1∼an。
一行 n 个数,表示 g(1)∼g(n)。
5
1 2 3 4 5
55 390 840 730 225
对于所有测试点,满足:1≤n≤3000,0≤ai≤109。