题目背景
每当月圆时分,五个族群的族猫们都会聚集在小岛上,进行每月的森林大会。蒟星为了了解其它五族猫的特点,就扮成了一只独行猫来到小岛上……
题目描述
森林大会上有 n 只猫,每只猫的武力值为 ai,于是蒟星列出了下面这样一个方程:
xn+i=1∑naixn−i=0
- 通俗地讲,这个方程就是 xn+a1xn−1+a2xn−2+⋯+an−1x+an=0。
蒟星根据 TA 优(cu)秀(bi)的数学知识可以知道,这个方程在复数集内有 n 个根,不妨把这 n 个根设为 x1,x2,...,xn。
接下来蒟星想要知道森林大会上的猫的实力如何,于是列出了下面一个表达式:
i=1∑n(bi×1≤j1<j2<⋯<ji≤n∑nxj1xj2⋯xji)
- ∑1≤j1<j2<⋯<ji≤nnxj1xj2⋯xji 就是从方程的 n 个根中选出 i 个,求所有可能方案的 i 个根的乘积之和。
但蒟星只要这个表达式对 109+7 取模后的值就好了。
- 若答案为负数 a,请输出 a+(109+7)。
蒟星把这个任务交给了您,不过他已经告诉你了 n,ai 和 bi,您能帮帮 TA 吗?
输入格式
第一行一个整数 n —— 表示方程的次数。
第二行 n 个整数 a1,a2,...an —— 意义见题目描述。
第三行 n 个整数 b1,b2,...bn —— 同上。
输出格式
输出一行,一个数,表示这个表达式对 109+7 取模后的值。
提示
【样例 1 说明】
原方程为 x2−2x+1=0,此时 x1=x2=1。
表达式的值为 x1+x2+x1x2=1+1+1=3。
【样例 2 说明】
原方程为 x3−3x2+4=0,此时 x1=−1,x2=x3=2。
表达式的值为
= = 2⋅(x1+x2+x3)+3⋅(x1x2+x1x3+x2x3)+4⋅x1x2x32×(−1+2+2)+3×(−2+(−2)+4)+4×(−4)−10因为 −10 为负数,所以输出 −10+(109+7)=999999997。
【数据范围与约定】
对于 10% 的数据,n=1。
对于另外 20% 的数据,n=2。
对于 40% 的数据,n≤10。
对于 60% 的数据,n≤103。
对于 100% 的数据,1≤n≤2×105,−109≤ai,bi≤109。
【Tips】
韦达定理也许会对你有帮助。
【Source】
Sweet Round 04 C
idea & std:蒟蒻的名字