原题地址:http://acm.fzu.edu.cn/problem.php?pid=2301

题意:有n次攻击回合,每个回合的攻击有一点伤害,但是可能攻击到敌方无限血的英雄,也可能攻击到敌方的一个血量为m的小兵,问在n次攻击回合内把敌方小兵杀死的概率为多少?答案对1e9+7取模。

组合数数学公式,首先总共有2n2n2^n的组合方法,然后要造成m点伤害及以上,所以就是Cmn+Cm+1n+Cm+2n+......+CnnCnm+Cnm+1+Cnm+2+......+CnnC^{m}_{n}+C^{m+1}_{n}+C^{m+2}_{n}+......+C^{n}_{n}.然后答案就是两者除一下.因为nn<script type="math/tex" id="MathJax-Element-102">n</script>只有1000,预处理就行了.

#include <cmath>
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <queue>
#include <vector>
#include <stack>
#include <set>
#include <map>
#include <cctype>
#define eps 1e-8
#define INF 0x3f3f3f3f
#define PI acos(-1)
#define lson l,mid,rt<<1
#define rson mid+1,r,(rt<<1)+1
#define CLR(x,y) memset((x),y,sizeof(x))
#define fuck(x) cerr << #x << "=" << x << endlusing namespace std;
typedef long long ll;
typedef unsigned long long ull;
const int seed = 131;
const int maxn = 1e5 + 5;
const int mod = 1e9 + 7;
ll Pow(ll base, ll n) {ll res = 1;while (n) {if (n & 1) res = res * base % mod;n >>= 1;base = base * base % mod;}return res;
}ll C[1005][1005];
//C[n][m]就是C(n,m)
void init(int N) {for (int i = 0; i < N; i ++) {C[i][0] = C[i][i] = 1;for (int j = 1; j < i; j ++) {C[i][j] = C[i - 1][j] + C[i - 1][j - 1];C[i][j] %= mod;}}
}int main() {init(1005);int t;scanf("%d", &t);while (t--) {int n, m;scanf("%d%d", &n, &m);ll ans = 0;for (int i = m; i <= n; i++) ans = (ans + C[n][i]) % mod;ll sum = Pow(2, n);printf("%lld\n", ans * Pow(sum, mod - 2) % mod);}return 0;
}

FZU - 2301 H - Chosen by god (组合数学)相关推荐

  1. FZU 2301 Chosen by god (组合数学+打表+快速幂)

    http://acm.fzu.edu.cn/problem.php?pid=2301 题目大意: 有n次攻击回合,每个回合的攻击有一点伤害,但是可能攻击到敌方无限血的英雄,也可能攻击到敌方的一个血量为 ...

  2. 【组合数学】递推方程 ( 特解形式 | 特解求法 | 特解示例 )

    文章目录 一.特解形式与求法 二.特解形式与求法 示例 一.特解形式与求法 H(n)−a1H(n−1)−⋯−akH(n−k)=f(n)H(n) - a_1H(n-1) - \cdots - a_kH( ...

  3. 2016-2017 ACM-ICPC CHINA-Final(EC-final) 题解(10 / 12)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 2016-2017 ACM-ICPC CHINA-Final 比赛链接:https://codefor ...

  4. 清华大学计算机系网络教学视频31门计算机课程

    原文:http://www.cnblogs.com/chenhong/archive/2008/07/28/1254915.html 清华大学计算机系网络教学视频31门计算机课程 本科课程 微型计算机 ...

  5. SylixOS 设备树

    文章目录 一.设备树简述 二.SylixOS中设备树文件定义 三.SylixOS设备树常用API 四.在BSP中的使用设备树 一.设备树简述 ARM社区曾在Linux内核中加入了大量板级信息导致Lin ...

  6. 算法——音乐播发器中考虑已听次数的随机播放算法

    背景 绝大多数音乐播放器的随机播放算法都采用洗牌算法(Shuffle),即将歌单中所有歌随机打乱顺序播放.但是考虑到用户在软件的使用过程中会不断往歌单中添加新的歌曲,在洗牌算法中无论新歌旧歌都会无差别 ...

  7. 最大化内积搜索相关研究 (Maximum Inner Product Search, MIPS)

    前言 如果你对这篇文章感兴趣,可以点击「[访客必读 - 指引页]一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接. MIPS 问题即在一个向量集合 S \mathcal{S} S 中,找到一 ...

  8. H - Checker FZU - 2041

    H - Checker FZU - 2041 题意: 一个长度为n的01串,现在能将里面的1移动m次,问最长的连续0是多长 题解: 没想出来,看了其他人代码,就是对于每个0空间进行扩充,然后记录每次扩 ...

  9. H - 栀子花开 FZU - 1921

    H - 栀子花开 FZU - 1921 Time limit  1000 ms        Memory limit  32768 kB 这是一个栀子花开的季节,也是一个离别的季节,四年一千多个日日 ...

最新文章

  1. 熟悉Linux的环境实验报告,实验1 熟悉Linux开发环境 实验报告
  2. MySQL高级or索引失效情况
  3. sqoop把mysql数据导入hbase-完整记录
  4. eclipse中设置编码格式
  5. 广西专业技术人员职称个人版_「职称评审」机械工程专业技术人员如何写职称论文?...
  6. java不能变成class_java.lang.Class不能转换为java.lang.reflect.ParameterizedType
  7. [转帖]常用项目管理软件介绍
  8. 增值税常见的税务筹划方法,干货!收藏!
  9. php 博饼 源代码,php实现中秋博饼小游戏
  10. Java开发人员能力模型
  11. 关于Win10 driver irql not less or equal ndis.sys的个人解决过程
  12. 大数据四大阵营之OLTP阵营(上)
  13. 人生第一份跳槽面试经历
  14. 优于 ViT 和 MLP-Mixer 的全局滤波器:Global Filter Networks for Image Classification [NeurIPS 2021]
  15. 服务器返回的常见http状态码
  16. 反馈学习方法:提高学习积极性
  17. Java将数据信息写入文件文件的几种实现方法
  18. 数学建模之:匈牙利算法python代码
  19. 【计算机组成原理】计算机系统结构笔记(9):多处理机
  20. SEO 小白攻略 to replace

热门文章

  1. 团队大事件-团队历程-团队记录~
  2. 什么是人工智能物联网(AIoT)一文教你快速了解人工智能物联网(AIoT)
  3. 由浅入深玩转华为WLAN—20 漫游系列(7)不同AC之间二层漫游【二层上线+直连式+直接转发模式】
  4. 常用智能小车直流减速电机选型
  5. Raspberry Pi远程多功能监控摄像机
  6. 养生的方法有哪些 十种长寿方法,全是免费的!
  7. python情人节之玫瑰花与表白方式
  8. C++【入门】购买文具
  9. Activiti核心API
  10. 转 《光明日报》:“大数据面前,统计学的价值在哪里”