• 洛谷 P3802 小魔女帕琪 题解


    一、题目:

    洛谷原题

    二、思路:

    经典期望题。

    首先搞清楚,本题的价值为一,所以期望等于概率。

    我们设(sum=sum_{i=1}^n a[i])

    那么第一次抽出第一个魔法的概率就是(frac {a[1]}{sum})

    在第一次抽出第一个魔法发生的条件下,第二次抽出第二个魔法的概率就是(frac{a[2]}{sum-1})

    以此类推,我们可以推出这样一个式子:(frac{a[1]}{sum} imes frac{a[2]}{sum-1} imes... imesfrac{a[7]}{sum-6})

    因为本题魔法的顺序是不定的,所以要乘上(7!)

    (7! imes frac{a[1]}{sum} imes frac{a[2]}{sum-1} imes ... imes frac{a[7]}{sum-6})

    完了吗?当然没有。

    再放大一点考虑(1sim sum)中有(sum-6)段连续的(1sim 7);
    那么概率还要再乘上((sum-6))

    就算我懂了吧。

    三、代码:

    //巨短无比
    #include<iostream>
    #include<cstdio>
    
    #define LL long long
    
    using namespace std;
    inline LL read(void){
        LL x=0,f=1;char ch=getchar();
        while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
        while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
        return f*x;
    }
    
    LL a[10],sum;
    
    int main(){
        for(register int i=1;i<=7;++i){
            a[i]=read();
            sum+=a[i];
        }
        printf("%.3lf",(double)5040.0*(double)a[1]/sum*(double)a[2]/(sum-1)*(double)a[3]/(sum-2)*(double)a[4]/(sum-3)*(double)a[5]/(sum-4)*a[6]/(sum-5)*a[7]);
        return 0;
    }
    
  • 相关阅读:
    ida动态调试--反反调试
    python读取配置文件
    问题解决:局域网内,为啥别人ping不到我的IP
    完全卸载MySQL
    JDK环境配置
    win10无法运行Vmware,怎么办
    查看ie版本
    公开的免费WebService接口分享,用于做接口练习
    SVN更改地址
    Loadrunner录制步骤及说明
  • 原文地址:https://www.cnblogs.com/little-aztl/p/9759677.html
Copyright © 2020-2023  润新知