2017 ACM-ICPC 亚洲区(西安赛区)网络赛 Coin(组合数)
来源:互联网 发布:js调用手机浏览器 编辑:程序博客网 时间:2024/05/20 13:11
Bob has a not even coin, every time he tosses the coin, the probability that the coin's front face up is pq(pq≤21).
The question is, when Bob tosses the coin k times, what's the probability that the frequency of the coin facing up is even number.
If the answer is YX, because the answer could be extremely large, you only need to print (X∗Y−1)mod(109+7).
Input Format
First line an integer T, indicates the number of test cases (T≤100).
Then Each line has 3 integer p,q,k(1≤p,q,k≤107) indicates the i-th test case.
Output Format
For each test case, print an integer in a single line indicates the answer.
样例输入
22 1 13 1 2
样例输出
500000004555555560
这题的答案公式很好推,但是怎么化简不好构造;利用了组合数中的二项式展开技巧,因为正面朝上的次数为偶数 所以需要把奇数项消除 构造二项式 令第二项为负数即可消除
思路:
#include <iostream>#include <bits/stdc++.h>using namespace std;typedef long long LL;const LL mod = 1e9+7;LL quick(LL x, LL n){ LL r=1; while(n) { if(n&1) r=r*x%mod; n>>=1; x=x*x%mod; } return r%mod;}int main(){ //cout<<quick(2,mod-2)<<endl; int t; scanf("%d", &t); while(t--) { LL p, q, k; scanf("%lld %lld %lld", &p, &q, &k); LL x=quick(p-2*q,k)*quick(quick(p,k)%mod,mod-2)%mod; x=(x+1)*quick(2,mod-2)%mod; printf("%lld\n",x); } return 0;}
阅读全文
0 0
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 Coin(组合数)
- B. Coin 数学/组合数 2017 ACM-ICPC 亚洲区(西安赛区)网络赛
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F Trig Function(数论,组合数)
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F.Trig Function(论文+组合数)
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 Coin
- 计蒜客-2017 ACM-ICPC 亚洲区(西安赛区)网络赛E题Coin(概率、组合数学)
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B. Coin(概率)
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B Coin (概率计算)
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B. Coin(矩阵快速幂)
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B Coin (概率计算)
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B.Coin(数学推公式)
- 计蒜客 17115 Coin(2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B)
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 Coin (概率公式+快速幂)
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛b题Coin(矩阵快速幂)
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B. Coin
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 Coin
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B题 coin
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B coin
- Android--关于Fragment的基础介绍(二)
- 函数的参数
- win10 64位系统 微星GE62 安装Linux ubutuntu 系统Deepin的过程
- [leetcode] 第二周作业
- 数据类型转换:short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? short s1=1,s2=1;short s3=s1+s2;
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 Coin(组合数)
- http://localhost:63342/cloudcareer_pc/index.html?requested without authorization, you can......
- 日志文件相关等待
- 鸡兔同笼
- 设计模式——迭代器与组合模式(二)
- lucene.net在进行删除索引的时候注意
- pandas 安装
- 分布式系统副本复制和一致性
- 【资讯】《美国银行家》主编加入CoinDesk,担任编辑主任一职