zoukankan      html  css  js  c++  java
  • 建设道路


    算贡献

    完全平方公式展开,(a+b)²=a²﹢2ab+b²

    对于本题来说,第一个数会与第二个...第n个,也就是(n-1)次 平方

    同理,对于2*a*b开说,

    第一个数字*(第二个+第三个+......第n个)

    还要注意mod问题,为了防止溢出和出现负数,加mod

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 #define int long long
     4 const int maxn = 5e5 + 10;
     5 const int mod = 1e9 + 7;
     6 int n,a[maxn];
     7 int sum,ans;
     8 signed main(){
     9     //freopen("in","r",stdin);
    10     scanf("%lld",&n);
    11     for(int i=1;i<=n;i++)
    12         scanf("%lld",&a[i]),sum=(sum+a[i])%mod;
    13 
    14     for(int i=1;i<=n;i++){
    15        ans = (ans + (n - 1) * a[i]  % mod * a[i] % mod) % mod;
    16        sum = (sum - a[i] + mod) % mod;//防止溢出
    17        ans = (ans - 2 * sum  % mod * a[i] % mod + mod) % mod;
    18     }
    19     printf("%lld",ans);
    20     return 0;
    21 }
    View Code
  • 相关阅读:
    Slf4j框架的用法
    常用框架介绍
    Spring整合Kafka(Spring-Kafka)
    Java并发容器
    kafka多线程消费
    kafka简介
    kafka-clients介绍
    windows搭建kafka
    rocketmq-client使用
    Window搭建部署RocketMQ
  • 原文地址:https://www.cnblogs.com/xcfxcf/p/12730269.html
Copyright © 2011-2022 走看看