题意:

每张彩票上印有一张图案,要集齐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. WPF DateTimePicker 和 TimeSpanPicker 控件发布

    原文:WPF DateTimePicker 和 TimeSpanPicker 控件发布 根据http://datetimepickerwpf.codeplex.com/ 这个项目重构了一下代码设计了我 ...

  2. 7.Mongodb复制(副本集)

    1.复制 什么是复制 复制提供了数据的冗余备份,并在多个服务器上存储数据副本,提高了数据的可用性,并可以保证数据的安全性 复制还允许从硬件故障和服务中断中恢复数据 为什么要复制 数据备份 数据灾难恢复 ...

  3. luogu4238 【模板】多项式求逆

    ref #include <iostream> #include <cstdio> using namespace std; typedef long long ll; int ...

  4. MySQL数据库服务器逐渐变慢分析

    第一步 检查系统的状态 1.1 使用sar来检查操作系统是否存在IO问题 #sar -u 2 10 — 即每隔2秒检察一次,共执行20次. [root@CacheMemCache tester]# s ...

  5. 【廖雪峰老师python教程】——OOP

    概述 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 数据封装.继承和多态 ...

  6. fiddler抓包-简单易操作(二)

    Fiddler抓包简介 原理:fiddler是通过改写HTTP代理,客户端和服务器进行交互时,数据会从他那里通过,来监控和截取数据.我是这样理解的,如果不对,欢迎指正.如下图: 如果想要抓到数据包,首 ...

  7. SPFA模板 Bellmanford优化版

    SPFA模板: queue<int>Q; ]; ],sumv[]; *],__next[*],e,w[*],first[],cnts[]; void AddEdge(int U,int V ...

  8. 以太坊 生成助记词和infuru插件

    https://iancoleman.io/bip39/ https://infura.io google faucet : https://faucet.rinkeby.io/ 登录google账号 ...

  9. winform自动最大化(在不同分辨率情况下)

    load函数末尾加: System.Drawing.Rectangle rec = Screen.GetWorkingArea(this); int SH = rec.Height; int SW = ...

  10. J2EE开发实战基础系列之开卷有益

    2014.10.24[致歉]{抱歉,从7.4号接到朋友的请求,一直忙到现在,最近又有新的CASE要忙,很抱歉教程要延误,开课时间请大家关注Q群} 时隔七年再次接触培训有关的事情,是兴奋,更多的是恐惧, ...