题目:P2671 [NOIP2015 普及组] 求和
教材上代码:
#include<bits/stdc++.h>
using namespace std;
const int mod=10007;
int n,m;
int a[100010],b[100010];
int s1[100010][2],s2[100010][2];
int ans;
int main(){
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
for(int i=1;i<=n;i++){
scanf("%d",&b[i]);
s1[b[i]][i%2]++;
s2[b[i]][i%2]=(s2[b[i]][i%2]+a[i])%mod;
}
for(int i=1;i<=n;i++){
int y=b[i];
ans+=i*(s2[y][i%2]+a[i]*(s1[y][i%2]-2)%mod)%mod;
ans%=mod;
}
printf("%d\n",ans);
return 0;
}
ans+=i*(s2[y][i%2]+a[i]*(s1[y][i%2]-2)%mod)%mod;这段代码看不懂,求解释。
谢谢大佬