题意:

每张彩票上印有一张图案,要集齐n个不同的图案才能获奖。输入n,求要获奖购买彩票张数的期望(假设获得每个图案的概率相同)。

分析:

假设现在已经有k种图案,令s = k/n,得到一个新图案需要t次的概率为:st-1(1-s);

因此,得到一个新图案的期望为(1-s)(1 + 2s + 3s2 + 4s3 +...)

下面求上式中的级数:

所以得到一个新图案的期望为:

总的期望为:

#include "iostream"
#include "cstdio"
#include "sstream"
using namespace std;
#define LL long long
struct Fractions {
LL numerator;
LL denominator;
Fractions(){
numerator=;
denominator=;
}
};
LL gcd(LL a,LL b)
{
return b==?a:gcd(b,a%b);
}
void add(Fractions&a,Fractions&b)
{
a.numerator=a.numerator*b.denominator+b.numerator*a.denominator;
a.denominator*=b.denominator;
LL t=gcd(a.numerator,a.denominator);
a.numerator/=t;
a.denominator/=t;
}
int length(LL x)
{
stringstream ss;
ss<<x;
return ss.str().length();
}
void print_chars(char c,int len)
{
while(len--)
putchar(c);
}
int main()
{
LL n;
while(~scanf("%lld",&n))
{
Fractions ans_f,tf;
for(LL i=;i<=n;i++)
{
tf.numerator=;
tf.denominator=i;
add(ans_f,tf);
}
ans_f.numerator*=n;
LL t=gcd(ans_f.numerator,ans_f.denominator);
ans_f.denominator/=t;
ans_f.numerator/=t; if(ans_f.denominator==){
cout<<ans_f.numerator<<endl;
}
else if(ans_f.numerator>ans_f.denominator)
{
LL mix=ans_f.numerator/ans_f.denominator;
int len=length(mix)+;
print_chars(' ',len);
cout<<ans_f.numerator%ans_f.denominator<<endl;
cout<<mix;cout<<" ";
int len1=length(ans_f.denominator);
print_chars('-',len1);cout<<endl;
print_chars(' ',len);
cout<<ans_f.denominator<<endl;
}else
{
cout<<ans_f.numerator<<endl;
int len=length(ans_f.denominator);
print_chars('-',len);
cout<<endl<<ans_f.denominator<<endl;
}
}
return ;
}

http://www.cnblogs.com/AOQNRMGYXLMV/p/4180474.html

UVa10288概率的更多相关文章

  1. uva10288 Coupons 【概率 分数】

    题目: 题意: 一共n种不同的礼券,每次得到每种礼券的概率相同.求期望多少次可以得到所有n种礼券.结果以带分数形式输出.1<= n <=33. 思路: 假设当前已经得到k种,获得新的一种的 ...

  2. 2019暑期集训第二讲 - 组合数学&概率&数学期望

    A - 容斥原理(CodeForces - 451E) 二进制状态压缩暴力枚举哪几个花选的个数超过了总个数,卢卡斯定理求组合数,容斥原理求答案 可以先把每个花的数量当成无限个,这样就是一个多重集的组合 ...

  3. 算法讲堂二:组合数学 & 概率期望DP

    组合数学 1. 排列组合 1. 加法原理 完成一列事的方法有 n 类,其中第 i 类方法包括\(a_i\)种不同的方法,且这些方法互不重合,则完成这件事共有 \(a_1 + a_2 + \cdots ...

  4. [bzoj2152][聪聪和可可] (点分治+概率)

    Description 聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰棍而两人都想吃.两个人都想玩儿电脑(可是他们家只有一台电脑)……遇到这种问题,一般情况下石头剪刀布就好 ...

  5. sqlserver中根据表中的配置概率取到数据

      create proc pr_zhanglei_test1 /*功能描述: 根据t_zhanglei_test1中perc设置的概率,取到相应数据old_id */ as declare @per ...

  6. 【BZOJ-3143】游走 高斯消元 + 概率期望

    3143: [Hnoi2013]游走 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 2264  Solved: 987[Submit][Status] ...

  7. 【BZOJ-3270】博物馆 高斯消元 + 概率期望

    3270: 博物馆 Time Limit: 30 Sec  Memory Limit: 128 MBSubmit: 292  Solved: 158[Submit][Status][Discuss] ...

  8. UVA1637Double Patience(概率 + 记忆化搜索)

    训练指南P327 题意:36张牌分成9堆, 每堆4张牌.每次拿走某两堆顶部的牌,但需要点数相同.如果出现多种拿法则等概率的随机拿. 如果最后拿完所有的牌则游戏成功,求成功的概率. 开个9维数组表示每一 ...

  9. caffe机器学习自带图片分类器classify.py实现输出预测结果的概率及caffe的web_demo例子运行实例

    caffe机器学习环境搭建及python接口编译参见我的上一篇博客:机器学习caffe环境搭建--redhat7.1和caffe的python接口编译 1.运行caffe图片分类器python接口 还 ...

随机推荐

  1. Ubuntu下使用Git_5

    还欠大家最后一篇Git的学习. Git的下一个内容,标签,标签是为了更方便的参考提交而给他表上通俗易懂的名称 Git可以使用两种标签,轻标签和注解标签,打上的标签是固定的,不能向分支那样可以移动位置, ...

  2. VMware快照

    越来越多的人喜欢使用虚拟机来做实验,但是实验过程并不总是顺利的,所以我们就需要掌握虚拟机快照的使用方法,个人建议的顺序为: 1 在虚拟机打开之前,点击“虚拟机”--"快照"--&q ...

  3. web入门脑图

  4. python 网络篇(网络编程)

    一.楔子 你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分别去运行,你就会发现,这两个python的文件分别运行的很好.但是如果这两个程序之间想要传递一个数据, ...

  5. Vue折腾记 - (3)写一个不大靠谱的typeahead组件

    Vue折腾记 - (3)写一个不大靠谱的typeahead组件 2017年07月20日 15:17:05 阅读数:691 前言 typeahead在网站中的应用很多..今天跟着我来写一个不大靠谱的ty ...

  6. UVA 11297 Census(二维线段树)

    Description This year, there have been many problems with population calculations, since in some cit ...

  7. 【转】GOOGLE-PROTOBUF与FLATBUFFERS数据的序列化和反序列化

    转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/unity3d-game/1607.html  关于Protobuf 通过本文的转载和分享的相关链接,足够 ...

  8. LoadRunner系统架构简介与运行原理

    1.LoadRunner系统架构简介 LoadRunner是通过创建虚拟用户来代替真实实际用户来操作客户端软件比如Internet Explorer,来向IIS.Apache等Web服务器发送HTTP ...

  9. symfony安装总结

    将D:\ApacheServer\php路径添加到环境变量path中,在cmd命令行中可以执行php命令 打开php.ini 打开extension=php_openssl.dll file_put_ ...

  10. spring MVC 字符串数组传值 字符带有逗号,问题

    按照如下图所示方式传值,想在后台得到一个长度为1的数组,后台直接根据,进行分割,就得到长度为2的数组 1.曲线救国解决法 解决方案, 前端对参数进行编码 encodeURIComponent(valu ...