【二项式定理】【推导】计蒜客17115 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B. Coin

题意:投一枚硬币向上的概率是q/p。问你投K枚硬币,向上的枚数为偶数枚的概率是?

要求的即为

这个东西是个二项展开式的偶数项系数和,来,我们复习一下高中数学,设f(x)=(ax+b)^n,则其偶数项系数和为(f(1)+f(-1))/2。

#include<cstdio>
using namespace std;
typedef long long ll;
#define MOD 1000000007ll
int T;
ll p,q,K;
ll Quick_Pow(ll a,ll p,ll mod){
	if(!p){
		return 1ll;
	}
	ll res=Quick_Pow(a,p>>1,mod);
	res=res*res%mod;
	if((p&1ll)==1ll){
		res=(a%mod*res)%mod;
	}
	return res;
}
int main(){
	//freopen("b.in","r",stdin);
	scanf("%d",&T);
	for(;T;--T){
		scanf("%lld%lld%lld",&p,&q,&K);
		printf("%lld\n",(((Quick_Pow(p,K,MOD)+Quick_Pow(p-2ll*q,K,MOD))%MOD*Quick_Pow(2ll,MOD-2ll,MOD))%MOD
		*Quick_Pow(Quick_Pow(p,K,MOD),MOD-2ll,MOD))%MOD);
	}
	return 0;
}
时间: 2024-08-10 01:54:59

【二项式定理】【推导】计蒜客17115 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B. Coin的相关文章

2016 ACM/ICPC亚洲区青岛站现场赛(部分题解)

摘要 本文主要列举并求解了2016 ACM/ICPC亚洲区青岛站现场赛的部分真题,着重介绍了各个题目的解题思路,结合详细的AC代码,意在熟悉青岛赛区的出题策略,以备战2018青岛站现场赛. HDU 5984 Pocky 题意 给出一根棒子(可以吃的)的长度x和切割过程中不能小于的长度d,每次随机的选取一个位置切开,吃掉左边的一半,对右边的棒子同样操作,直至剩余的长度不大于d时停止.现在给出x和d,问切割次数的数学期望是多少. 解题思路 当看到第二个样例2 1时,结果是1.693147,联想到ln

【推导】计蒜客17119 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F. Trig Function

题意:给你n,m,让你求cos(nx)的展开式的(cos(x))^m项的系数. 更一般的式子是这样的:. 队友的代码: #include<cstdio> #include<algorithm> #include<queue> #include<set> using namespace std; long long n,k,i,ans; long long mo=998244353; long long ni(long long a,long long b)

【推导】计蒜客17116 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 C. Sum

题意:S(x)被定义为x的十进制表示下的数位之和.给你x,让你找一个正整数k,使得S(kx)能被233整除.k不超过2千位. 由于x不超过1000000,不论x是多少,10000000重复233次一定是合法的. #include<cstdio> using namespace std; int T,x; int main(){ scanf("%d",&T); for(;T;--T){ scanf("%d",&x); for(int i=1

【分块】计蒜客17120 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 G. Xor

题意:给一棵树,每个点有权值.q次询问a,b,k,问你从a点到b点,每次跳距离k,权值的异或和? 预处理每个点往其根节点的路径上隔1~sqrt(n)的距离的异或和,然后把询问拆成a->lca(a,b),lca(a,b)->b,讨论一下即可,细节比较多. 队友的代码: #include <cmath> #include <cstdio> #include <cstring> #include <iostream> #include <algo

【找规律】计蒜客17118 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 E. Maximum Flow

题意:一张有n个点的图,结点被编号为0~n-1,i往所有编号比它大的点j连边,权值为i xor j.给你n,问你最大流. 打个表,别忘了把相邻两项的差打出来,你会发现神奇的规律……你会发现每个答案都是由某些特定的数加起来组成的,最好把它们也打出来. #include<cstdio> using namespace std; typedef long long ll; #define MOD 1000000007ll ll n; int main(){ // freopen("e.ou

【计算几何】【圆反演】计蒜客17314 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 G. Finding the Radius for an Inserted Circle

题意:给你三个半径相同的圆,它们切在一起,然后让你往缝里一个一个地塞圆,问你塞到第k个的半径是多少. 就把上面那两个圆的切点当成反演中心,然后会反演成这个样子,两个平行直线和一个圆. 然后就是往那个圆上面再塞圆,然后反演回去算面积就行了. #include<cstdio> #include<cmath> using namespace std; const double pi=3.14159; int n,K; double R,anss[12]; int main(){ //fr

计蒜客 31452 - Supreme Number - [简单数学][2018ICPC沈阳网络预赛K题]

题目链接:https://nanti.jisuanke.com/t/31452 A prime number (or a prime) is a natural number greater than $1$ that cannot be formed by multiplying two smaller natural numbers. Now lets define a number $N$ as the supreme number if and only if each number m

2017 ACM/ICPC(西安)赛后总结

早上8:00的高铁,所以不得不6点前起床,向火车站赶……到达西安后已经是中午,西工大距离西安北站大概3小时车程的距离,只好先解决午饭再赶路了……下午3.30的热身赛,一行人在3.35左右赶到了赛场,坐下后立即开始读题,A题快速幂很快就通过了,B题是一道非常恶心的大模拟,本蒟蒻手敲近两小时wa的生活不能自理,终于在终场前发现一个小bug但是没有提交蛮遗憾(自信AC,捂脸逃~).晚上,回到酒店后,很早就睡觉了,并不像第一次参加区域赛那样紧张的很晚才入睡. 第二天的正式赛开始后,我和队友分别从前中后三

2016 ACM/ICPC亚洲区大连站-重现赛 解题报告

任意门:http://acm.hdu.edu.cn/showproblem.php?pid=5979 按AC顺序: I - Convex Time limit    1000 ms Memory limit 65536 kB OS Windows We have a special convex that all points have the same distance to origin point. As you know we can get N segments after linki