题目链接:【http://acm.scu.edu.cn/soj/problem.action?id=4552】

题意:给你n种卡牌,每种卡牌有无限多个,每次从中抽取一张卡牌,问:1、集齐这n种卡牌需要抽取次数的期望,2、抽取m次,刚好(要保证最后一抽牌刚好满足抽了n张不同的牌)集齐n张卡牌的概率。

数据范围:n<=15,m<=35;(尼玛,比赛的时候数据范围都不给清楚,只在discuss里面说了一下,还不通知)。

题解:对于第一问:公式n*(1+1/2+1/3+....+1/n);第二问:dp[i][j]:表示抽取i次,得到j张卡牌的概率。dp[i][j]->dp[i+1][j+1]+(n-j)/j;dp[i][j]->dp[i+1][j]+(j/n);

#include<bits/stdc++.h>
using namespace std;
int n, m;
double dp[][];
int main ()
{
while(~scanf("%d%d", &n, &m))
{
if(n == )//当n等于0的时候,只有m也等于0的时候有意义
{
if(m == )
printf("0.000000 1.000000\n");
else
printf("0.000000 0.000000\n");
continue;
}
double ans1 = 0.0;
for(int i = ; i <= n; i++)//期望
ans1 += double(1.0 / (double)i);
ans1 *= (double)n;
if(n > m)//非法状态
{
printf("%.6f 0.000000\n", ans1);
continue;
}
if(n == )//当n等于1的时候,只有m也等于1的时候有意义
{
if(m == )
printf("%.6f 1.000000\n", ans1);
else
printf("%.6f 0.000000\n", ans1);
continue;
}
for(int i = ; i <= ; i++)
for(int j = ; j <= ; j++)
dp[i][j] = 0.0;
dp[][] = 1.0;//dp[i][j]:表示抽取i次,得到j张卡牌的概率。
for(int i = ; i <= m; i++) //选的次数
for(int j = ; j <= n && j <= n; j++) //得到的卡牌
{
dp[i + ][j + ] += dp[i][j] * double(double(n - j) / double(n));
dp[i + ][j] += dp[i][j] * double(double(j) / double(n));
}
//要保证最后一抽牌刚好满足抽了n张不同的牌
printf("%.6f %.6f\n", ans1, dp[m - ][n - ]*double(1.0 / (double)n));
}
return ;
}

SOJ 4552 [期望,概率]的更多相关文章

  1. HDU 3853 期望概率DP

    期望概率DP简单题 从[1,1]点走到[r,c]点,每走一步的代价为2 给出每一个点走相邻位置的概率,共3中方向,不动: [x,y]->[x][y]=p[x][y][0] ,  右移:[x][y ...

  2. 【BZOJ 3652】大新闻 数位dp+期望概率dp

    并不难,只是和期望概率dp结合了一下.稍作推断就可以发现加密与不加密是两个互相独立的问题,这个时候我们分开算就好了.对于加密,我们按位统计和就好了;对于不加密,我们先假设所有数都找到了他能找到的最好的 ...

  3. 【BZOJ 3811】玛里苟斯 大力观察+期望概率dp+线性基

    大力观察:I.从输出精准位数的约束来观察,一定会有猫腻,然后仔细想一想,就会发现输出的时候小数点后面不是.5就是没有 II.从最后答案小于2^63可以看出当k大于等于3的时候就可以直接搜索了 期望概率 ...

  4. 【BZOJ 3925】[Zjoi2015]地震后的幻想乡 期望概率dp+状态压缩+图论知识+组合数学

    神™题........ 这道题的提示......(用本苣蒻并不会的积分积出来的)并没有 没有什么卵用 ,所以你发现没有那个东西并不会 不影响你做题 ,然后你就可以推断出来你要求的是我们最晚挑到第几大的 ...

  5. 【NOIP模拟赛】黑红树 期望概率dp

    这是一道比较水的期望概率dp但是考场想歪了.......我们可以发现奇数一定是不能掉下来的,因为若奇数掉下来那么上一次偶数一定不会好好待着,那么我们考虑,一个点掉下来一定是有h/2-1个红(黑),h/ ...

  6. BZOJ2337: [HNOI2011]XOR和路径 期望概率dp 高斯

    这个题让我认识到我以往对于图上期望概率的认识是不完整的,我之前只知道正着退还硬生生的AC做过的所有图,那么现在让我来说一下逆退,一般来说对于概率性的东西都只是正推,因为有了他爸爸才有了他,而对于期望性 ...

  7. BZOJ1415: [Noi2005]聪聪和可可 最短路 期望概率dp

    首先这道题让我回忆了一下最短路算法,所以我在此做一个总结: 带权: Floyed:O(n3) SPFA:O(n+m),这是平均复杂度实际上为O(玄学) Dijkstra:O(n+2m),堆优化以后 因 ...

  8. 期望概率DP

    期望概率DP 1419: Red is good ​ Description ​ 桌面上有\(R\)张红牌和\(B\)张黑牌,随机打乱顺序后放在桌面上,开始一张一张地翻牌,翻到红牌得到1美元,黑牌则付 ...

  9. LightOJ 1030 Discovering Gold(期望 概率)

    正推,到达i的概率为p[i],要注意除了1和n外,到达i的概率并不一定为1 概率表达式为p[i] += p[j] / min(n - j, 6) 从j带过来的期望为exp[i] += exp[j] / ...

随机推荐

  1. spring bean初始化及销毁你必须要掌握的回调方法

    spring bean在初始化和销毁的时候我们可以触发一些自定义的回调操作. 初始化的时候实现的方法 1.通过java提供的@PostConstruct注解: 2.通过实现spring提供的Initi ...

  2. DIV+CSS制作斜线效果记录

    DIV+CSS 斜线效果很简单,只需设置一下CSS Border 的边框就能有斜线效果.代码分享给大家,你可以自己变通. 提示要注意两点:1.DIV宽高的定义.2.DIV在 IE6 中默认是有高度的. ...

  3. oozie与mapreduce简单案例

    准备工作  拷贝原来的模板 mkdir oozie-apps cd oozie-apps/ cp -r ../examples/apps/mar-reduce . mv map-reduce mr-w ...

  4. 一个JAVA渣渣的校招成长记,附BAT美团网易等20家面经总结

    欢迎关注我的微信公众号:"Java面试通关手册"(坚持原创,分享美文,分享各种Java学习资源,面试题,以及企业级Java实战项目回复关键字免费领取): 今天分享一篇牛客网上的一个 ...

  5. 不相交集ADT--链表实现

    每一个集合用用一个链表来表示.链表的第一个对象作为它所在集合的代表.链表中每个对象都包含一个集合成员,一个指向下一个对象的指针,以及指向代表的指针.每个链表含head和tail指针,head指向链表的 ...

  6. UVA题解一

    UVA 100 题目描述:经典3n+1问题在\(n \leq 10^6\)已经证明是可行的,现在记\(f[n]\)为从\(n\)开始需要多少步才能到\(1\),给出\(L, R\),问\(f[L], ...

  7. 增加Android模拟器空间(Internal Storage)

    转载 http://vase.iteye.com/blog/2114664   初学Android,发现模拟器上有不少限制,譬如标题中的存储限制,无论用ADT Manager如何设置,内部存储空间不会 ...

  8. 【IT公司笔试面试】75道逻辑推理题及答案

    [1]假设有一个池塘,里面有无穷多的水.现有2个空水壶,容积分别为5升和6升.问题是如何只用这2个水壶从池塘里取得3升的水. 由满6向空5倒,剩1升,把这1升倒5里,然后6剩满,倒5里面,由于5里面有 ...

  9. HBase原理解析(转)

    本文属于转载,原文链接:http://www.aboutyun.com/thread-7199-1-1.html   前提是大家至少了解HBase的基本需求和组件. 从大家最熟悉的客户端发起请求开始讲 ...

  10. 连接数据库:ERROR:The server time zone value '?й???????' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration prop

    本打算在maven项目中配置mybatis试试看,想到mybatis如果不是在容器中运行,那么他的事务控制实际上可以使用的是jdbc的提交和回滚,这就要在pom.xml文件中配置mysql-conne ...