2019牛客多校第一场

感谢老陈的翻译

B. Integration

题目大意

思路

先把所给公式分母下面的公式拿出来化简

然后总结公式继续化简

感谢瓜皮大佬hhh

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=1010;
const int mod=1e9+7;
ll a[maxn];
ll quickMod(ll a, ll p, ll mod) {
a%=mod;
ll base=1;
while(p) {
if(p&1) base=base*a%mod;
a=a*a%mod;
p>>=1;
}
return base;
}
int main(){
int n;
while(~scanf("%d",&n)){
for(int i=1;i<=n;i++){
scanf("%lld",&a[i]);
}
ll ans=0;
for(int i=1;i<=n;i++){
ll temp=1;
for(int j=1;j<=n;j++){
if(i!=j) temp=temp*((a[j]*a[j]%mod-a[i]*a[i]%mod)%mod+mod)%mod;
}
temp=quickMod(temp,mod-2,mod);
temp=temp*quickMod(2*a[i],mod-2,mod)%mod;
ans=(ans+temp)%mod;
}
printf("%lld\n",ans);
}
}