zoukankan      html  css  js  c++  java
  • 红包期望

    题目描述

    众所周知,在过年的时候每家每户都会发红包,现在clccle和qn在一起抢*信红包,但是她们觉得这样没有意思,便开始了计算,如果当clccle和sqn为第k个抢红包的人时候,所抢到红包金额的期望是多少?(红包的大小在[0,2n/m]中均匀随机,特别的当红包的大小小于2n/m时,最后剩下的金额会被包入最后一个红包中)

    输入描述:

    第一行,三个整数,m,n,T分别表示有一个红包可以被m个人领取,而且红包的总金额是n,接下来有T次询问

    接下来T行,每行一个整数k,表示clccle和qn抢红包的时候是第几位

    输出描述:

    共T行

    每行一个整数,表示clccle和qn所得到的红包大小的期望

    示例1

    输入

    10 100 3
    10
    15
    16

    输出

    10
    0
    0

    备注:

    对于全部数据

    1<=m<=n<=1e18,1<=T<=50000

    题解

    #include<iostream>
    using namespace std;
    int main(){
    	long long m,n;
    	int T;
    	scanf("%lld%lld",&m,&n);
    	scanf("%d",&T);
    	while(T--){
    		int a;
    		scanf("%d",&a);
    		if(a>m){
    			printf("0
    "); 
    		}
    		else{
    			printf("%lld
    ",n/m);
    		}
    	}
    	return 0;
    } 
    

    期望就是每种结果的概率乘以结果的总和
    红包大小的期望就是红包大小乘以这种大小的概率的总和,,红包大小的概率是固定的,都是(frac{1}{2n/m}),但是红包的大小不确定,它是在[0,2n/m]中均匀分配的,所以就积分下,(int_{0}^{frac{2n}{m}}frac{2n}{m}dfrac{2n}{m}),得出的结果再乘以固定的红包大小概率。最终结果得到(n/m)
    还要注意,当排名k大于红包能分配的人数m时,主人公们所抢到红包的期望就一定是0了,因为这时根本就抢不到了。
    所以当k>m时,就输出0,当k(leq)m时,就输出n/m。

  • 相关阅读:
    git 删除远程文件、文件夹
    pod install太慢 可以使用代理的方式
    flutter Container()最小宽度 最小高度
    flutter common init 常用Widget初始化
    xcode 嵌入flutter_module后编译报错 This app could not be installed at this time.
    Spring AOP
    Spring @Value 配置项解析 vs Spring @ConfigurationProperties 配置项解析
    Spring Bean 的实例化过程
    SpringBoot 配置项解析
    Spring IOC 自动注入流程
  • 原文地址:https://www.cnblogs.com/fate-/p/13360042.html
Copyright © 2011-2022 走看看