//yy:那天考完概率论,上网无聊搜个期望可加性就搜到这题,看到以后特别有亲和感,挺有意思的。

hdu5194 DZY Loves Balls 【概率论 or 搜索】

题意:

一个盒子里有n个黑球和m个白球【n,m≤12】。每次随机从盒子里取走一个球,取了n+m次后,刚好取完。现在用一种方法生成了一个随机的01串S[1…(n+m)],如果第i次取出的球是黑色的,那么S[i]=1,如果是白色的,那么S[i]=0。求'01'在S串中出现的期望次数。

题解:

求出在第i个位置上出现0,第i+1个位置上出现1的概率,这种情况设为Xi = 1,这就是二项分布啦,

根据期望的可加性,有E∑Xi = N * P。(期望的可加性不要求事件相互独立喔,方差要求所以可以这样做吖)

Xi = 1的概率 P = m / (n + m)  *  n / (n + m - 1)

由题意可知这里的 N = (n + m - 1)

化简一下答案就出来了: n * m / (n + m)

#include <cstdio>
#include <algorithm>
using namespace std;
int gcd(int a, int b) {return b ? gcd(b, a%b) : a;}
int main() {
int m, n, x;
while(~scanf("%d%d", &m, &n)) {
x = gcd(m*n, m+n);
printf("%d/%d\n", m*n/x, (m+n)/x);
}
return ;
}

还有个搜索方法,房教写的,膜拜ORZ

get一个快遗忘的知识点,用常引用减小开栈的开销。。。如果既要利用引用提高程序的效率,又要保护传递给函数的数据不在函数中被改变,就应使用常引用。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
long long dp[][];
long long C[][];
long long ans = ;
ll dfs(const int& x,const int& y,const int& st)
{
if(st==&&dp[x][y]!=-) return dp[x][y];
long long ans = ;
if(st==){
if(x>){
ans += C[x+y-][y] + dfs(x-,y,);
}
if(y>)
{
ans += dfs(x,y-,);
}
}
if(st==){
if(x>){
ans += dfs(x-,y,);
}
if(y>)
{
ans += dfs(x,y-,);
}
}
if(st==)dp[x][y] = ans;
return ans;
}
void get_C(int maxn)
{
C[][] = ;
for(int i=;i<=maxn;i++)
{
C[i][] = ;
for(int j=;j<=i;j++)
C[i][j] = C[i-][j]+C[i-][j-];
//C[i][j] = (C[i-1][j]+C[i-1][j-1])%MOD;
}
}
int main(){
memset(dp,-,sizeof(dp));
dp[][] = ;
get_C();
int n,m;
while(scanf("%d%d",&n,&m)==)
{
ll b=C[n+m][n];
ll sum=dfs(n,m,);
ll a=__gcd(sum,b);
printf("%lld/%lld\n",sum/a,b/a);
}
return ;
}

hdu5194 DZY Loves Balls 【概率论 or 搜索】的更多相关文章

  1. HDU 5194 DZY Loves Balls

    DZY Loves Balls Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...

  2. hdu 5645 DZY Loves Balls

    DZY Loves Balls  Accepts: 659  Submissions: 1393  Time Limit: 4000/2000 MS (Java/Others)  Memory Lim ...

  3. HDU 5645 DZY Loves Balls 水题

    DZY Loves Balls 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5645 Description DZY loves playing b ...

  4. hdoj 5194 DZY Loves Balls【规律&&gcd】

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5194 题意:给你n个黑球,m个白球,每次从中随机抽取一个,如果抽到黑球记为1如果抽出来白球记为0,让你 ...

  5. BC#76.2DZY Loves Balls

    DZY Loves Balls  Accepts: 659  Submissions: 1393  Time Limit: 4000/2000 MS (Java/Others)  Memory Lim ...

  6. 周赛-DZY Loves Chessboard 分类: 比赛 搜索 2015-08-08 15:48 4人阅读 评论(0) 收藏

    DZY Loves Chessboard time limit per test 1 second memory limit per test 256 megabytes input standard ...

  7. BZOJ 3512: DZY Loves Math IV [杜教筛]

    3512: DZY Loves Math IV 题意:求\(\sum_{i=1}^n \sum_{j=1}^m \varphi(ij)\),\(n \le 10^5, m \le 10^9\) n较小 ...

  8. hdoj5645DZY Loves Balls

    Problem Description DZY loves playing balls. He has n balls in a big box. On each ball there is an i ...

  9. CF444C. DZY Loves Colors[线段树 区间]

    C. DZY Loves Colors time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

随机推荐

  1. html的img标签

    html显示图片 1.最简单: <img src="图片路径"/> 2.如果要改变图片显示的尺寸 <img src="图片路径" width= ...

  2. MySQL重置root密码提示"Unknown column ‘password"的问题?

    晚上打开MAC,发现root帐户突然不能正常登陆MySQL,于是打算重置密码,看了几篇文章,竟然重置不成功,总是得到Unknown column 'password'的错误,看了user的表结构也确实 ...

  3. iCheck

    iCheck改变 checkbox.radio的样式,原生或用bootstrap的都太丑. 简单用法:引用 <link rel="stylesheet" type=" ...

  4. .Net程序员玩转Android系列之二~Android Framework概要(1)

    从windows操作系统说起 人们总是喜欢从将陌生的事物和自己所了解的东西关联起来,以加深对未知事物的了解,这一讲我们从windows操作系统说起,逐步引领带大家走入android的世界.写任何程序都 ...

  5. Centos7 linux下 安装 Redis 5.0

    网上找了很多文章,发现不全而且有些问题,安装很多次之后,总结一篇可以使用的,记录之. 环境:Centos7+Redis 5.0,如果环境不符合,本篇仅供参考. 1.准备工作 作者习惯软件安装包放在单独 ...

  6. Springmvc file多附件上传 显示 删除操作

    之前项目需求要做一个多附件上传 并显示上传文件 带删除操作 一筹莫展之际搜到某个兄弟发的博客感觉非常好用被我copy下来了此贴算是改良版 再次感谢(忘记叫什么了时间也有点久没有历史记录了)先上图 基于 ...

  7. Java 方法重载和多态

    先来看看什么是方法重载? 方法重载的要求是:方法名相同,参数列表不同(不同的参数类型或者参数顺序或者参数个数).至于方法的其他部分,如方法返回值类型和修饰符,与方法重载没有任何关系.最好加上@Over ...

  8. express实现todolist

    app.js var express = require('express'); var todoController = require('./controllers/todoController. ...

  9. avalon2简单数据绑定(自定义属性绑定)

    <!DOCTYPE html> <html> <head> <title>项目</title> <meta charset=" ...

  10. 使用electron构建跨平台Node.js桌面应用

    最近,把团队内经常使用的一个基于Node.js制作的小工具给做成了可视化操作的桌面软件,使用的是electron,这里简单分享一下使用electron的一些经验和心得. 一.如何使用electron把 ...