题目

问题引入

给你一个古典概型问题,总共两个事件,发生A事件的概率为p,则发生B事件的概率为1-p;求k次操作之后,出现偶数次A事件的概率为多少。对于最后的答案要取模1e9+7。
题库链接 <<

样例输入

2
2 1 1
3 1 2

样例输出

500000004
555555560

题目来源

2017 ACM-ICPC 亚洲区(西安赛区)网络赛

题解

  • 很显然,答案是求二项式的偶数项和。
  • 对于这种求偶数项的和,可以参照对于n的所有组合数C(n, i)求得奇数项和为2^(n-1),偶数项和为2^(n-1)的方法,如下所示:
  • 综上,二项式偶数项和的通项公式为:
    • ans=(p^k+(2*q-p)^k)/(2*p^k) ;
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;const int mod=1e9+7;
const double eps=1e-8;typedef long long LL;
LL pow_mod(LL a,LL b,LL p) //快速幂取模
{LL ans=1,base=a;while(b>0){if(b&1) //n%2==1ans=ans*base%p;base=base*base%p;b>>=1;// b/=2}return ans;
}
LL cal(LL x,LL y)//分数取模
{return x*pow_mod(y,mod-2,mod)%mod;
}
int main()
{int T;LL p,q,k;scanf("%d",&T);while(T--){scanf("%lld%lld%lld",&p,&q,&k);q=pow_mod(p-2*q,k,mod);p=pow_mod(p,k,mod);q=(p+q)%mod;p=(p*2)%mod;printf("%lld\n",cal(q,p));}return 0;
}

关于二项式定理,偶数项和的求解方法。相关推荐

  1. python求一元三次方程的根_关于二次、三次、四次方程求解方法讨论

    高次方程求解的一般方法是将高次方程通过配方求解,然后进行次数降解,高次方程转化为容易求解的低次方程. 一元二次方程 求解高次方程,一元二次方程是最为简单的方程.关于一元二次方程 ,通过配方法可以求解: ...

  2. 多个绝对值相加求最大值问题_多个绝对值求和型函数最值问题的求解方法

    多个绝对值求和型函数最值问题的求解方法 命题 设 a 1 ≤ a 2 ≤ a 3 ≤-≤ a n , Y =︱ x - a 1 ︱+︱ x - a 2 ︱+︱ x - a 3 ︱+-+︱ x - a ...

  3. 非线性规划MATLAB求解原理,专题六--非线性规划介绍及其Matlab求解方法.ppt

    迭代法一般步骤 注意:数值求解最优化问题的计算效率取决于确定搜索方向P (k)和步长 的效率. Matlab求解方法简介 Step3: 利用(3)式或其它一维搜索的方法求 计算 然后令k:=k+1, ...

  4. 一种基于物理信息极限学习机的PDE求解方法

    **作者|**PINN山里娃,作者主页 **研究方向|**物理信息驱动深度学习 不确定性 人工智能 偏微分方程 极限学习机 该作者聚焦深度学习模型与物理信息结合前沿研究,提供了一系列AI for sc ...

  5. LIS(最长上升子序列)问题的三种求解方法以及一些例题

    摘要 本篇博客介绍了求LIS的三种方法,分别是O(n^2)的DP,O(nlogn)的二分+贪心法,以及O(nlogn)的树状数组优化的DP,后面给出了5道LIS的例题. LIS的定义 一个数的序列bi ...

  6. 外点罚函数法的MATLAB实现,一、非线性规划问题的几种求解方法1罚函数法(外点法).ppt...

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp高等教育&nbsp>&nbsp微积分 一.非线性规划问题的几种求解方法1罚函数法(外点法). ...

  7. ANSYS Fluent 压力基求解方法

    1.Choosing the Pressure-Velocity Coupling Method ANSYS Fluent提供了四种压力基类型的分离求解算法:SIMPLE,SIMPLEC,PISO和( ...

  8. 非线性最小二乘问题的求解方法(一)

    非线性最小二乘问题的求解方法(一) 1.非线性最小二乘问题 2.下降方法 2.1 梯度法 2.2 牛顿法 2.3 线性搜索 2.4 信赖域和阻尼算法 附录 Cholesky's method 本文仅仅 ...

  9. 几类常微分方程的matlab求解方法 | 刚性微分方程、隐式微分方程、微分代数方程

    目录 微分方程的转换 一.单个高阶常微分方程 二.高阶常微分方程组 刚性微分方程求解 隐式微分方程求解 微分代数方程求解 微分方程的转换 根据微分方程求解的标准型,要得到微分方程的数值解,应该先将该方 ...

最新文章

  1. Jsoup下载图片报错:UnsupportedMimeTypeException
  2. 查询最近一千条数据mysql_保留mysql数据库中的最新1000条记录
  3. 快速记忆python函数-Python特殊语法速记记录
  4. kafka模拟生产-消费者以及自定义分区
  5. 深度学习(神经网络) —— BP神经网络原理推导及python实现
  6. 服务器apache远程命令,Linux实例:用socket通讯远程执行命令
  7. 文件源码读取 php伪协议,include(文件包含漏洞,php伪协议)
  8. springBoot配置,贴个图
  9. python grid函数_(转)Python Tkinter Grid布局管理器详解
  10. python遍历目录树 除文件_python遍历目录树删除指定后缀的文件
  11. C# 性能优化之斤斤计较篇 二
  12. 小说规则失效后怎么更改?免费小说采集器
  13. SqlServer安装Northwind数据库的通用方法
  14. 安卓支持AES 256加密解密
  15. CoffeeRobotTeam项目组报告
  16. vmware虚拟机网络配置详解
  17. r34300u和r53500u 哪个好
  18. 怎样将语音转换成文字
  19. 加拿大曼尼托巴大学计算机专业几年,2020年加拿大曼尼托巴大学毕业时间是几月...
  20. 认识32位浮点数(分别输出符号,阶码,尾数)

热门文章

  1. 怎么用Midjourney制作表情包
  2. java sout写到文本文件里
  3. Zigbee协议栈之OS层的API
  4. 关于蓝牙传输距离和可靠性的误解与释疑
  5. 青蛙跳 LintCode青蛙过河问题
  6. quotacheck命令不能创建aquota.user和aquota.group文件解决方法 原
  7. 编写SQL语句查询出每个各科班分数最高的同学的名字,班级名称,课程名称,分数...
  8. C#上传文件到共享文件夹
  9. 深度解读明星项目—Axelar,如何引爆跨链板块
  10. 推荐猴王做海区斑竹!