2019牛客暑期多校训练营(第一场)-B.Integration()
链接:https://ac.nowcoder.com/acm/contest/881/B
题意:给出n,和数组a[n],求特定表达式取模后的值。
思路:用到列项相消:aaarticlea/gif;base64,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" alt="" />
那么,aaarticlea/png;base64,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" alt="" />,然后就变成了求和问题,利用费马小定理求逆元可计算得到结果。
AC代码:
#include<cstdio>
using namespace std; const int MOD=1e9+;
typedef long long LL; int n;
LL a[],c[];
LL ans; LL qpow(LL a,LL b){
LL res=;
while(b){
if(b&) res=res*a%MOD;
a=a*a%MOD;
b>>=;
}
return res;
} int main(){
while(~scanf("%d",&n)){
for(int i=;i<=n;++i)
scanf("%lld",&a[i]),c[i]=;
ans=;
for(int i=;i<=n;++i)
for(int j=;j<=n;++j)
if(j!=i) c[i]=c[i]*((a[j]*a[j]%MOD-a[i]*a[i]%MOD+MOD)%MOD)%MOD;
for(int i=;i<=n;++i)
ans=(ans+qpow(*a[i]%MOD*c[i]%MOD,MOD-))%MOD;
printf("%lld\n",ans);
}
return ;
}
2019牛客暑期多校训练营(第一场)-B.Integration()的更多相关文章
- 2019牛客暑期多校训练营(第二场) H-Second Large Rectangle(单调栈)
题意:给出由01组成的矩阵,求求全是1的次大子矩阵. 思路: 单调栈 全是1的最大子矩阵的变形,不能直接把所有的面积存起来然后排序取第二大的,因为次大子矩阵可能在最大子矩阵里面,比如: 1 0 0 1 ...
- 2019牛客暑期多校训练营(第九场) D Knapsack Cryptosystem
题目 题意: 给你n(最大36)个数,让你从这n个数里面找出来一些数,使这些数的和等于s(题目输入),用到的数输出1,没有用到的数输出0 例如:3 4 2 3 4 输出:0 0 1 题解: 认真想一 ...
- 2019牛客暑期多校训练营(第五场)G - subsequeue 1 (一题我真的不会的题)
layout: post title: 2019牛客暑期多校训练营(第五场)G - subsequeue 1 (一题我真的不会的题) author: "luowentaoaa" c ...
- 2019牛客暑期多校训练营(第一场)A Equivalent Prefixes(单调栈/二分+分治)
链接:https://ac.nowcoder.com/acm/contest/881/A来源:牛客网 Two arrays u and v each with m distinct elements ...
- 2019牛客暑期多校训练营(第一场)A题【单调栈】(补题)
链接:https://ac.nowcoder.com/acm/contest/881/A来源:牛客网 题目描述 Two arrays u and v each with m distinct elem ...
- 2019牛客暑期多校训练营(第一场) B Integration (数学)
链接:https://ac.nowcoder.com/acm/contest/881/B 来源:牛客网 Integration 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 5242 ...
- 2019牛客暑期多校训练营(第一场) A Equivalent Prefixes ( st 表 + 二分+分治)
链接:https://ac.nowcoder.com/acm/contest/881/A 来源:牛客网 Equivalent Prefixes 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/ ...
- 2019牛客暑期多校训练营(第二场)F.Partition problem
链接:https://ac.nowcoder.com/acm/contest/882/F来源:牛客网 Given 2N people, you need to assign each of them ...
- 2019牛客暑期多校训练营(第九场)A:Power of Fibonacci(斐波拉契幂次和)
题意:求Σfi^m%p. zoj上p是1e9+7,牛客是1e9: 对于这两个,分别有不同的做法. 前者利用公式,公式里面有sqrt(5),我们只需要二次剩余求即可. 后者mod=1e9,5才 ...
- 2019牛客暑期多校训练营(第八场)E.Explorer
链接:https://ac.nowcoder.com/acm/contest/888/E来源:牛客网 Gromah and LZR have entered the fifth level. Unli ...
随机推荐
- JavaScript一元运算符
㈠一元运算符 一元运算符,只需要一个操作数 ⑴+ 正号 正号不会对数值产生影响 示例: ⑵- 负号 负号可以对数字进行负号的取反 示例: ⑶对于非Number类型的值,它会将其先转换 ...
- int的最大最小值补码原码转换
原码 正数的二进制表示即为原码(正数的原码.反码.补码均一致) 补码 负数的补码为符号位不变,其余为取反,然后加1 补码的设计目的 (原因:带符号的数加减失效) 1.使符号位能够参与加减运算 2.将减 ...
- Subarray Sorting (线段树)
题意:给你两个长度为 n 的序列 a 和 b , 可以对 a 进行 操作: 选择一段区间[ l, r ] ,使得序列a 在这段区间里 按升序排序. 可以对a 进行任意多次操作,问 a是否有可能变成b序 ...
- sh_18_字符串文本对齐
sh_18_字符串文本对齐 # 假设:以下内容是从网络上抓取的 # 要求:顺序并且居中对齐输出以下内容 poem = ["\t\n登鹳雀楼", "王之涣", & ...
- simple queue(简单队列)
Virtual host-虚拟主机 虚拟主机,用于进行逻辑隔离,是最上层的路由,类似于redis的16个db,是一种逻辑上的隔离 一个virtualhost里面可以有若干个Exchange和Queue ...
- 安装lanproxy服务端、客户端以及小问题解决
准备 我们这里使用java客户端与服务端连接 1.一台公网服务器(运行proxy-server).2.一台内网客户端(运行proxy-client). 下载地址:https://seafile.cdj ...
- 12 Linux ACL权限
1.查看facl权限 getfacl /home/test.txt [root@localhost ~]# getfacl /home/test.txt getfacl: Removing leadi ...
- Ubuntu16.04配置vncserver后 导致重复进入登陆界面,无法进入桌面的问题
1.在配置vncserver的时候,可能导致该用户不能正常登录桌面. 2.问题现象:正确输入密码,系统无法进入桌面,闪回到登录界面. 3.在登录界面按ctrl+Alt+F1,进入虚拟控制台(输入r ...
- ZT:我们身边大多数的事都是暂时性的
1. 家庭放在首位. 2. 戒酒能有助于身体健康. 3. 经常跑步以及运动有益于身心健康. 4. 保证心胸开阔.让爱自动来到你的身边,而不需要你自己去拼命寻找. 5. 区分优秀的导师和老师.不断提升自 ...
- Android——NativeActivity - C/C++ Apk开发
android基本的四大组件之一Activity,android开发的第一个hello world 创建的就是这个继承了Activity类的类,拥有对应的生命周期,由AMS维护,只需要重写父类对应的方 ...