P3909 异或之积

题目描述

对于A_1,A_2,A_3,\cdots,A_NA1​,A2​,A3​,⋯,AN​,求

(6\times \sum_{i=1}^N\sum_{j=i+1}^N\sum_{k=j+1}^N A_i\times A_j\times A_k)\ mod\ (10^9+7)(6×∑i=1N​∑j=i+1N​∑k=j+1N​Ai​×Aj​×Ak​) mod (109+7)

的值。

输入输出格式

输入格式:

第1 行,1 个整数NN。

第2 行,NN个整数A_1,A_2,A_3,\cdots,A_NA1​,A2​,A3​,⋯,AN​.

输出格式:

1 个整数,表示所求的值。

输入输出样例

输入样例#1: 复制

3
1 2 3
输出样例#1: 复制

36

说明

• 对于30% 的数据,3 \le N \le 5003≤N≤500;

• 对于60% 的数据,3 \le N \le 50003≤N≤5000;

• 对于100% 的数据,3 \le N \le 10^6,0 \le A_i \le 10^93≤N≤106,0≤Ai​≤109。

将上面给出的式子展开,然后代入数以后找规律,提取公因式加上前缀和处理,然后就好了

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define N 1000100
#define LL long long
#define mod 1000000007
using namespace std;
LL n,a[N],s1[N],s2[N],ans;
LL read()
{
    LL x=,f=; char ch=getchar();
    ;ch=getchar();}
    +ch-',ch=getchar();
    return  x*f;
}
int main()
{
    n=read();
    ;i<=n;i++) a[i]=read();
    ;i--)
     s1[i]=(s1[i+]+a[i])%mod;
    ;i--)
     s2[i]=(s2[i+]+a[i]*s1[i+])%mod;
    ;i<=n;i++)
     ans=(ans+a[i]*s2[i+]%mod);
    ans=*ans%mod;
    printf("%lld",ans);
    ;
}

洛谷——P3909 异或之积的更多相关文章

  1. 洛谷 P3909 异或之积 题解

    原题链接 本人看了其它解法,发现本人的解法还是 首创 ! 而且我的解法好像和 \(\times 6\) 没什么关系 -- (如果没 \(\times 6\),我没还不用算逆元) 别人的思路呢,大都是从 ...

  2. P3909 异或之积

    P3909 异或之积 为什么叫做异或之积? 答曰:只要不关乎Alice和Bob就行 做完这道水题,感觉自己弱爆了. 一开始就要考虑暴力\(O(n^3)\)的优化. 然后就注意到了题目中的\(6\)为什 ...

  3. 洛谷 P3908 异或之和

    洛谷 P3908 异或之和 题目描述 求1⨁2⨁⋯⨁N 的值. A⨁B 即 AA, B 按位异或. 输入输出格式 输入格式: 1 个整数 N . 输出格式: 1 个整数,表示所求的值. 输入输出样例 ...

  4. 【洛谷P3909】异或之积

    题目大意:给定一个 N 个数字组成的序列,求 \[ \left(6 \times \sum_{i=1}^{N} \sum_{j=i+1}^{N} \sum_{k=j+1}^{N} A_{i} \tim ...

  5. 洛谷P3760异或和

    传送门啦 传送门啦 一般这种位运算的题都要把每一位拆开来看,因为位运算每个位的结果这和这一位的数有关. 这样我们用s[i]表示a的前缀和,即 $ a[1]+a[2]+....a[i] $ ,然后我们从 ...

  6. 洛谷——P3908 异或之和

    P3908 异或之和 题目描述 求1 \bigoplus 2 \bigoplus\cdots\bigoplus N1⨁2⨁⋯⨁N 的值. A \bigoplus BA⨁B 即AA , BB 按位异或. ...

  7. 洛谷—— P3908 异或之和

    https://www.luogu.org/problemnew/show/P3908 题目描述 求1 \bigoplus 2 \bigoplus\cdots\bigoplus N1⨁2⨁⋯⨁N 的值 ...

  8. 洛谷.5283.[十二省联考2019]异或粽子(可持久化Trie 堆)

    LOJ 洛谷 考场上都拍上了,8:50才发现我读错了题=-= 两天都读错题...醉惹... \(Solution1\) 先求一遍前缀异或和. 假设左端点是\(i\),那么我们要在\([i,n]\)中找 ...

  9. 「洛谷5283」「LOJ3048」「十二省联考2019」异或粽子【可持久化01trie+优先队列】

    题目链接 [洛谷传送门] [LOJ传送门] 题目大意 让你求区间异或和前\(k\)大的异或和的和. 正解 这道题目是Blue sky大佬教我做的(祝贺bluesky大佬进HA省A队) 我们做过某一些题 ...

随机推荐

  1. MyBatis框架的使用及源码分析(七) MapperProxy,MapperProxyFactory

    从上文<MyBatis框架中Mapper映射配置的使用及原理解析(六) MapperRegistry> 中我们知道DefaultSqlSession的getMapper方法,最后是通过Ma ...

  2. Java 异常(Java Exception)

    Java异常    异常指不期而至的各种状况,如:文件找不到.网络连接失败.非法参数等.异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程.Java通 过API中Throwable类的众多子类 ...

  3. 选择Asp for javascript,非.net。

    写Web类型的程序我使用过的服务器端语言有C#和Python.PHP稍Copy过几段代码,Asp很早听说过.C#我主要用来写Web服务比较多,C#这种强类型语言写Web不太爽,特别构造复杂的JSON数 ...

  4. SpringBoot Mybatis 读写分离配置(山东数漫江湖)

    为什么需要读写分离 当项目越来越大和并发越来大的情况下,单个数据库服务器的压力肯定也是越来越大,最终演变成数据库成为性能的瓶颈,而且当数据越来越多时,查询也更加耗费时间,当然数据库数据过大时,可以采用 ...

  5. linux 3389连接工具Rdesktop

    简单使用 工作机换成战斗机了,改用ubuntu,原来的windows7上东西笔记多,还不想重装.用rdesktop来远程连接windows: sudo apt-get install rdesktop ...

  6. C基础 大文件读取通过标准库

    引言 - 问题的构建 C大部分读取文件的时候采用fgetc, 最近在使用过程中发现性能不是很理想.都懂得fgetc每次只能读取一个字符, IO操作太频繁. 所以性能低. 本文希望通过标准库函数frea ...

  7. [New learn]AutoLayout调查基于code

    代码https://github.com/xufeng79x/TestAutolayout-code2 0.插在前面 必须关闭view的自动缩放掩码,自动缩放掩码是autolayout出现之前系统管理 ...

  8. 12-6 NSArray

    原文:http://rypress.com/tutorials/objective-c/data-types/nsarray NSArray NSArray 是 Objective-C中最常用的数组类 ...

  9. MySQL的读写分离---主从复制、主主复制

    1.复制是基于BinLog日志 存在三种日志格式:Statement:存储Sql语句,存储日志量是最小的.有可能复制不一致Row:存储event数据,存储日志量大,但是不能很直接进行读取:Mixed: ...

  10. linux命令(44):date命令

    1.命令格式: date [参数]... [+格式] 2.命令功能: date 可以用来显示或设定系统的日期与时间. 3.命令参数: 必要参数: %H 小时(以00-23来表示). %I 小时(以01 ...