Coin 2017icpc-西安赛区 牛顿二项式
https://nanti.jisuanke.com/t/17115
题意:有一枚不均匀的硬币,正面朝上的概率是q/p。现在抛k次硬币,求其中有偶数次正面朝上的概率为X/Y,现在要求输出X*(Y对于1e9+7的逆元)。
题解:
for(int i=0;i<=k;i+=2){ans+=C(k,i)*(1-q/p)^(k-i)*(q/p)^i;
}
可以看出这是一个牛顿二项式,但是求的是偶数项。
根据牛顿二项式有:
偶数项+奇数项=(a+b)^k=1
偶数项-奇数项=(a-b)^k=(1-2*q/p)^k
所以偶数项=(1+(1-2*q/p)^k)/2
其中要求逆元
代码:
#include<set>
#include<map>
#include<stack>
#include<queue>
#include<vector>
#include<string>
#include<bitset>#include<algorithm>
#include<cstring>
#include<cstdio>
#include<cmath>
#include<ctime>#include<iomanip>
#include<iostream>#define debug cout<<"aaa"<<endl
#define d(a) cout<<a<<endl
#define mem(a,b) memset(a,b,sizeof(a))
#define LL long long
#define lson l,mid,root<<1
#define rson mid+1,r,root<<1|1
#define MIN_INT (-2147483647-1)
#define MAX_INT 2147483647
#define MAX_LL 9223372036854775807i64
#define MIN_LL (-9223372036854775807i64-1)
using namespace std;const int N = 100000 + 5;
const LL mod = 1000000000 + 7;
const double eps = 1e-8;LL exgcd(LL a,LL b,LL &x,LL &y){if(b==0){x=1;y=0;return a;}LL r=exgcd(b,a%b,x,y);LL t=x;x=y;y=t-a/b*y;return r;
} LL quick(LL a,LL b){LL ans=1;a%=mod;while(b){if(b&1)ans=(ans*a)%mod;a=(a*a)%mod;b>>=1;}ans%=mod;return (ans+mod)%mod;
} int main(){int t;LL p,q,k,temp,x,y,ans;scanf("%d",&t);while(t--){scanf("%lld%lld%lld",&p,&q,&k);temp=quick(p,k);exgcd(temp,mod,x,y);ans=(quick(p-2*q,k)*x)%mod;ans=1+ans;exgcd(2,mod,x,y);ans=(ans*x)%mod;ans=(ans+mod)%mod;printf("%lld\n",ans);}return 0;
}
Coin 2017icpc-西安赛区 牛顿二项式相关推荐
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B Coin(逆元,费马小定理)
Bob has a not even coin, every time he tosses the coin, the probability that the coin's front face u ...
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B Coin (概率计算)
传送门: https://nanti.jisuanke.com/t/17115 Bob has a not even coin, every time he tosses the coin, the ...
- 计蒜客 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B coin(求乘法逆元)
Bob has a not even coin, every time he tosses the coin, the probability that the coin's front face u ...
- 2017 icpc 西安赛区 B.Coin(推公式+二项式定理)
Bob has a not even coin, every time he tosses the coin, the probability that the coin's front face u ...
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛
这个西安赛区大概是我们学校打得最好的一次了,因为数学题多,而且嘛,那个I竟然就是暴力,恭喜我们学校分了个机会 Coin 问答 只看题面 23.46% 1000ms 32768K Bob has a n ...
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 xor (根号分治)
xor There is a tree with nn nodes. For each node, there is an integer value a_iai, (1 \le a_i \le ...
- 计蒜客 17115 Coin(2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B)
题目链接:Coin 题目大意:有一个特殊的硬币,正面朝上的概率是q/p,现在投掷k次,问出现偶数次正面朝上的概率是多少,需要算逆元 题目思路:我们可以整理得到我们需要算的是C(k,n)∗(qp)k∗( ...
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B coin
数学能力严重退化,奇数项的和都不会求了.. 代码如下 #include<cstdio> #include<iostream> #include<cstring> # ...
- 西安后宰门小学_【棒!少年】 追逐热血,挥洒激情!后宰门小学决战2020 MLB First Pitch青少年棒球联赛西安赛区...
最近,有一个关于棒球的故事在朋友圈刷屏.故事讲述了一群来自山区的困境少年,通过打棒球"叫板命运".这部纪录片电影<棒!少年>被网友评价为"2020最值得带孩子 ...
- 【推导】计蒜客17119 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F. Trig Function
题意:给你n,m,让你求cos(nx)的展开式的(cos(x))^m项的系数. 更一般的式子是这样的:. 队友的代码: #include<cstdio> #include<algor ...
最新文章
- 交情来自一系列的交易
- 万引大佬自曝这样被MIT拒掉:“系里不喜欢你”,找校长对峙后悟了
- pads pcb导出pdf文件_干货 | 学会设计不规则形状PCB,看这一篇就够了
- POJ 3040 贪心
- C++ 面向对象(类对象)
- 2022年全球及中国酰氯行业投资竞争力与发展状况分析报告
- 【thymeleaf】Access to request parameters is forbidden in this context
- 10月13日云栖精选夜读:【云栖大会】阿里云和红帽达成合作为百万级客户提供更多企业级解决方案...
- java枚举怎么编译不行的_java – 打开枚举时Maven编译失败
- “SQL 被低估了!”
- LeetCode 3sum 问题
- 利用openpyxl来读取Excel数据
- 学C++不得不看的一篇文章
- v8声卡调音软件_V8声卡调试:软件音效、变声效果及消除电流降噪教程
- matlab统计颗粒数,一种基于Matlab的谷物颗粒计数方法
- python打印星号组成的三角形_Python利用for循环打印星号三角形的案例
- 剑指 Offer 24. 反转链表java
- 大数据应用导论 Chapter1 | 大数据技术与应用概述
- 00后必看:如何在互联网就业寒冬和疫情的双面夹击下找到心仪工作
- Backblaze2022中期SSD故障质量报告解读