计蒜客 17115 2017 ICPC 西安网络赛 B Coin
Problem
nanti.jisuanke.com/t/17115
Reference
关于二项展开式系数和
【二项式定理】【推导】计蒜客17115 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B. Coin
Meaning
抛一个硬币正面朝上的概率是 qp\frac{q}{p}(qp≤12\frac{q}{p}\leq \frac{1}{2}),连抛 k 次,求正面朝上的次数是偶数的概率
Analysis
即是求:
\sum_{0\leq i\leq k,i 是偶数}C_{k}^{i}(\frac{q}{p})^{i}(1-\frac{q}{p})^{k-i}
通分,提出 1pk\frac{1}{p^{k}},得:
\frac{1}{p^{k}}\sum_{i} q^{i}(p-q)^{k-i}
其中的求和部分,即是求 [q+(p−q)]k[q+(p-q)]^{k} 展开式中偶数项的系数和。
求 (a+b)k(a+b)^{k} 的偶数项和可以:
1. 直接通过 (a+b)k+(−a+b)k2\frac{(a+b)^{k}+(-a+b)^{k}}{2} 来求;
2. 也可以用 (a+b)k±(a−b)k2\frac{(a+b)^{k}\pm (a-b)^{k}}{2} 来求
- (a+b)k(a+b)^{k} 的通项是 Cikaibk−iC^{i}_{k}a^{i}b^{k-i}
- (a−b)k(a-b)^{k} 的通项是 Cikai(−b)k−i=(−1)k−iCikaibk−iC^{i}_{k}a^{i}(-b)^{k-i}=(-1)^{k-i}C^{i}_{k}a^{i}b^{k-i}
- 要消去奇数项,就要使得前者 i 为奇数时,后者 k - i 也是奇数
- 所以当 k 是奇数时,两者相减;而 k 是偶数时,两者相加
Code
#include <cstdio>
using namespace std;
const int MOD = 1000000007;int fp(long long a, int b)
{int r = 1;for( ; b; b >>= 1, a = a * a % MOD)if(b & 1)r = r * a % MOD;return r;
}int main()
{int T;scanf("%d", &T);while(T--){int p, q, k;scanf("%d%d%d", &p, &q, &k);int a = fp(p, k), // [q + (p - q)] ^ kb = fp(p - q - q, k); // [-q + (p - q)] ^ kint ans = (a + b) % MOD;// ans / 2ans = (long long)ans * fp(2LL, MOD - 2) % MOD;// ans / p^kans = (long long)ans * fp(fp(p, k), MOD - 2) % MOD;printf("%d\n", ans);}return 0;
}
用第二种的:
/*… 前面相同 …*/int a = fp(p, k), // [q + (p - q)] ^ k// q + q - p <= 0,所以要 + MODb = fp(q + q - p + MOD, k), // [q - (p - q)] ^ kans;if(k & 1)ans = (a - b + MOD) % MOD;
elseans = (a + b) % MOD;
// ans / 2
ans = (long long)ans * fp(2LL, MOD - 2) % MOD;
// ans / p^k
ans = (long long)ans * fp(fp(p, k), MOD - 2) % MOD;/*… 后面相同 …*/
计蒜客 17115 2017 ICPC 西安网络赛 B Coin相关推荐
- 计蒜客 17115 Coin(2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B)
题目链接:Coin 题目大意:有一个特殊的硬币,正面朝上的概率是q/p,现在投掷k次,问出现偶数次正面朝上的概率是多少,需要算逆元 题目思路:我们可以整理得到我们需要算的是C(k,n)∗(qp)k∗( ...
- 【推导】计蒜客17119 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F. Trig Function
题意:给你n,m,让你求cos(nx)的展开式的(cos(x))^m项的系数. 更一般的式子是这样的:. 队友的代码: #include<cstdio> #include<algor ...
- 2017 ICPC西安区域赛 A - XOR (线段树并线性基)
链接:https://nanti.jisuanke.com/t/A1607 题面: Consider an array AA with n elements . Each of its element ...
- 2017 ICPC西安区域赛 A - XOR ,线段树合并线性基
题目链接:A - XOR 题意;给个数组,每次询问一个区间你可以挑任意个数的数字异或和 然后在或上k的最大值 题解:线性基不知道的先看这个,一个线性基可以log的求最大值把对应去区间的线性基求出来然后 ...
- 2020 计蒜客蓝桥杯B 组模拟赛(三)——突破障碍
小明有一个n*m的二维迷宫,在样例中给出.其中'#'表示障碍物, 'S'表示起点,'T'表示终点,'.'表示空地.保证起点和终点都是空地.每次移动可以从当前所在空地移动到相邻的空地,只能往上下左右四个 ...
- 计蒜客2018蓝桥A组模拟赛(一)青出于蓝胜于蓝(dfs序+线段树)
题目: 武当派一共有 n 人,门派内 n 人按照武功高低进行排名,武功最高的人排名第 1,次高的人排名第 2,- 武功最低的人排名第 n.现在我们用武功的排名来给每个人标号,除了祖师爷,每个人都有一个 ...
- 计蒜客 ACM竞赛高校联盟训练赛 第8场 煎牛排
水一水. https://nanti.jisuanke.com/t/24205 煎牛排 题目描述 又是一个难得的周六,是时候远离食堂和外卖出去大吃一顿了.圈内知名吃货AA正想着中午去吃汉堡炸鸡烤肉火锅 ...
- 计蒜客网站 ACM-ICPC亚洲区赛题
The Preliminary Contest for ICPC China Nanchang National Invitational(2019) ACM-ICPC Jiaozuo Onsite ...
- 计蒜客第二章:网络交友
计蒜客练习题:网络交友 题目 样例 代码 #include<iostream> #include<map> using namespace std; map<string ...
最新文章
- 机器学习(MACHINE LEARNING) 【周志华版-”西瓜书“-笔记】 DAY5-神经网络
- cmd与monkey测试
- mongodb数据库扩展名_MongoDB学习笔记:MongoDB 数据库的命名、设计规范
- 学计算机科学与技术的专业特长,计算机科学与技术专业简历范文介绍
- XP屏幕上下翻转的现象及解决
- 如何在SAP云平台ABAP编程环境里创建自己的Z表
- Corn Fields 玉米田
- linux 前端环境搭建
- 我与布拉德利(Todd Bradley)聊天
- LAMP架构调优(九)——Apache Rewrite功能实战
- Linux内核入门(四)—— 内核汇编语言规则
- 双向晶闸管,调压电路,开关电路,楼梯灯电路,光控路灯,无电弧接触器电路
- java上传图片至阿里云oss服务器
- 计算机怎么配置IP地址,如何设置电脑IP地址?
- PCB多层板层的设置原则
- 国仁猫哥:视频号超详细运营攻略教程;教你如何打造一个优质的视频号【建议收藏】
- JavaScript 专题(九)数组中查找指定元素
- buuctf——Warmup
- 贝叶斯网专题4:概率推理中的变量消元方法
- kestrel服务器性能,深入理解kestrel的应用