链接:https://ac.nowcoder.com/acm/contest/881/B
来源:牛客网


题解博主:https://blog.csdn.net/qq_41608020

若侵权一定删。。


题目描述

Bobo knows that 

Given n distinct positive integers a1,a2,…,ana1,a2,…,an, find the value of

It can be proved that the value is a rational number pqpq.
Print the result as (p⋅q−1)mod(10^9+7)(p⋅q−1)mod(10^9+7).

输入描述:

The input consists of several test cases and is terminated by end-of-file.The first line of each test case contains an integer n.
The second line contains n integers a1,a2,…,ana1,a2,…,an.* 1≤n≤1031≤n≤103
* 1≤ai≤1091≤ai≤109
* {a1,a2,…,an}{a1,a2,…,an} are distinct.
* The sum of n2n2 does not exceed 107107.

输出描述:

For each test case, print an integer which denotes the result.

示例1

输入

复制

1
1
1
2
2
1 2

输出

复制

500000004
250000002
83333334

求解过程

------------------------------------

所以原式等于

代码:

#include<bits/stdc++.h>
using namespace std;
const int INF = INT_MAX;
const int maxn = 100070;
typedef long long ll;
const ll mod=1e9+7;
const double PI=acos(-1);typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
ll a[1007];
ll a2[1007];
ll qpow(ll a,ll b)
{ll ans=1;while(b){if(b&1)ans=ans*a%mod;a=a*a%mod;b>>=1;}return ans;
}int main()
{int n;while(~scanf("%d",&n)){for(int i=1;i<=n;i++){cin>>a[i];a2[i]=a[i]*a[i]%mod;}ll ans=0;for(int i=1;i<=n;i++){ll tmp=a[i];for(int j=1;j<=n;j++){if(i!=j){tmp*=(a2[j]-a2[i]+mod);if(tmp>=mod)tmp%=mod;}}tmp=qpow(tmp,mod-2);ans+=tmp;if(ans>=mod)ans%=mod;}ans=ans*qpow(2,mod-2)%mod;cout<<ans<<endl;}return 0;
}

【数学】【裂项相消】Integration-牛客相关推荐

  1. 2019年牛客多校第一场B题 Integration 定积分 裂项相消

    题目链接: https://ac.nowcoder.com/acm/contest/881/B 题解: 转发一个大佬的博客,裂项相消,很容易看懂. https://blog.csdn.net/dill ...

  2. 2019牛客暑期多校训练营(第一场)B Integration 裂项相消 + 积分

    题目链接:https://ac.nowcoder.com/acm/contest/881/B 题解:裂项相消, 以此类推,对于每一项,都是这样的形式,分母上常数项 是其他项的系数减去该项的系数 的乘积 ...

  3. 裂项相消的原理是什么

    我们来看这样的式子,若m-n=d,那么   那么这样的式子是什么意思呢? 就是说,如果我们要把一个分式,分解成两个分式进行加减运算,那么我们可以找到原分式分母的两因数即可进一步分解. 那么这样的式子是 ...

  4. MT【170】裂项相消

    已知$a,b>0$证明:$\dfrac{1}{a+2b}+\dfrac{1}{a+4b}+\dfrac{1}{a+6b}<\dfrac{3}{\sqrt{(a+b)(a+7b)}}$ 证明 ...

  5. Python数学中裂项相消的计算-求前N项和

    目标:计算1/1*(1+1) + 1/2(2+1) + - +n/n(n+1)的前n项和 def zjs():zjsInout = int(input('再次输入数字,验证结果:'))i = zjsI ...

  6. 2019牛客暑期多校训练营(第一场) Integration(定积分)

    链接:https://ac.nowcoder.com/acm/contest/881/B 来源:牛客网 Bobo knows that  Given n distinct positive integ ...

  7. 牛客 - Sumo and Easy Sum(推公式+数学)

    题目链接:点击查看 题目大意:给出约束关系如下: 求出对于每个 K 的 n 趋近于正无穷时 Sn 的取值 题目分析:涉及到的数学知识是初等数学的裂项相消法和高等数学的极限 代码: #include&l ...

  8. python字符串去重及排序 牛客_2018牛客多校第一场 D.Two Graphs

    题意: n个点,m1条边的图E1,n个点,m2条边的图E2.求图E2有多少子图跟图E1同构. 题解: 用STL的全排列函数next_permutation()枚举映射.对于每一种映射枚举每一条边判断合 ...

  9. Java实现数组列项相加_裂项求和法 - osc_rkun22vq的个人空间 - OSCHINA - 中文开源技术交流社区...

    常用公式 常用式:$\cfrac{1}{n(n+1)}=\cfrac{1}{n}-\cfrac{1}{n+1}$:推广式:$\cfrac{1}{n(n+k)}=\cfrac{1}{k}(\cfrac{ ...

最新文章

  1. Nature子刊:宏基因组中挖掘原核基因组的分析流程
  2. jupyter写python的时候换行总是换到下一行的中间
  3. 51nod1228 序列求和(伯努利数)
  4. sublime text3 jshint 安装
  5. 论文笔记:DGCNN(EdgeConv)
  6. 计算机考研考编程,计算机考研面试------编程语言
  7. shell编程--流程控制for,do-while,if-then,break,continue,case等
  8. 伪静态设置 html,Apache下伪静态html(URL Rewrite)的设置方法
  9. imx6 mac地址设置
  10. 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛——D题 Seek the Joker I
  11. 软考软件设计师考试总结(2019下半年)
  12. 最全,176个HFSS仿真实例模型文件分享
  13. linux broadcast 作用,linux中inaddr_broadcast什么意思?
  14. 拔丝芋头的Java学习日记---Day11
  15. python制作ppt动画_天呐,还能这么玩!用 Python 生成动态 PPT
  16. 花房集团CEO于丹内部信:上市即暴富年代已一去不复返
  17. 安卓高级8 支付宝支付
  18. 【面试相关】数据分析面试前必看知识点QA③
  19. JAVA项目实战过程中踩坑总结一
  20. 火狐浏览器占用过多内存

热门文章

  1. 小程序 异步方法 promise
  2. 【Kotlin 协程】Flow 异步流 ② ( 使用 Flow 异步流持续获取不同返回值 | Flow 异步流获取返回值方式与其它方式对比 | 在 Android 中使用 Flow 异步流下载文件 )
  3. 世界上没有哪一份工作是不受气的
  4. 【JZOJ A组】登山
  5. 本地调试邮件可发送,linux服务器邮件发送报错javax.mail.MessagingException: 501 5.5.4 Invalid argument
  6. 一、Conflux 网页钱包创建
  7. STM32---RESET按键功能
  8. php+创建微信标签,微信公众号——创建标签,给粉丝打标签。
  9. frog——2017科技趋势预测
  10. QSocketNotifier 解读