传送门

考虑前面7个魔法

如果前面七个魔法各不相同,那么就能完成一次帕琪七重奏

设 A=a1*a2*...*a7,S=a1+a2+...+a7,B=S*(S-1)*...*(S-6)

对于不同的施法顺序,前面七个魔法各不相同的概率总是:A/B

不同的顺序如: a1,a3,a2,a4,a5,a6,a7 和 a1,a2,a3,a4,a5,a6,a7 是不同的施法顺序

它们的概率分别为:(a1 / S) * (a3 / (S-1)) * (a2 / (S-2)) * (a4 / (S-3)) * (a5 / (S-4)) * (a6 / (S-5)) * (a7 / (S-6))

          : (a1 / S) * (a2 / (S-1)) * (a3 / (S-2)) * ... * (a7 / (S-6))

稍微整理一下就是(a1*a2*...*a7)/(S*(S-1)*...*(S-6))  =    A/B

所以就算施法顺序不同,但是概率总是一样的

不同的施法顺序总共有 7! 种

所以对于前面七个魔法的所有顺序,触发一次帕琪七重奏的概率就是 7! * (A/B)

考虑第 2~8 个魔法

如果第 1 个魔法为 a1 ,第 2~8 个魔法能再次触发帕琪七重奏总概率为

((a1-1)*a2*a3...*a7)/((S-1)*(S-2)*...*(S-7))

化简得 (A/a1*(a1-1))/(B/S*(S-7))

如果第一个魔法为 a2

那么第 2~8 个魔法能再次触发帕琪七重奏总概率同样可化简得

(A/a2*(a2-1))/(B/S*(S-7))

...

...

...

一直到 (a7-1)/(S-7),总概率同样化简得 (A/a7*(a7-1))/(B/S*(S-7))

那么把7种情况的概率加起来:(A/a1*(a1-1)+A/a2*(a2-1)+...+A/a7*(a7-1))/(B/S*(S-7))

把A和B提取出来并化简得(最好自己在纸上写一下):

(A/B)*((a1-1+a1-1+...+a7-1)*S/(a1*a2*...*a7)/(S-7))  =  (A/B)*((S-7)*S/S/(S-7)) = (A/B)*1      !!

所以第 2~8 个魔法能触发帕琪七重奏的概率就是 7! * A/B(因为第 2~8 个魔法也有 7! 种组合)

同理第 3~9 个魔法能触发帕琪七重奏的概率也一样(可以用同样的方法,自己在纸上写一下,就不一一列举了)

所以总期望就是 7! * A/B * (S-6)      (乘上S-6 是因为期望要从第 1~7 个魔法算到第 (S-6)~S 个魔法,一共算了 S-6 次)

所以代码量为 0

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
double a[],s,ans=;
int main()
{
for(int i=;i<=;i++) cin>>a[i],s+=a[i];
for(int i=;i<;i++)
ans=ans*a[i]/(s+-i)*double(i);
printf("%.3lf",ans*a[]*7.0);
return ;
}

P3802 小魔女帕琪的更多相关文章

  1. 洛谷 P3802 小魔女帕琪 解题报告

    P3802 小魔女帕琪 题目背景 从前有一个聪明的小魔女帕琪,兴趣是狩猎吸血鬼. 帕琪能熟练使用七种属性(金.木.水.火.土.日.月)的魔法,除了能使用这么多种属性魔法外,她还能将两种以上属性组合,从 ...

  2. 洛谷P3802 小魔女帕琪

    P3802 小魔女帕琪 题目背景 从前有一个聪明的小魔女帕琪,兴趣是狩猎吸血鬼. 帕琪能熟练使用七种属性(金.木.水.火.土.日.月)的魔法,除了能使用这么多种属性魔法外,她还能将两种以上属性组合,从 ...

  3. Luogu P3802 小魔女帕琪

    P3802 小魔女帕琪 题目背景 从前有一个聪明的小魔女帕琪,兴趣是狩猎吸血鬼. 帕琪能熟练使用七种属性(金.木.水.火.土.日.月)的魔法,除了能使用这么多种属性魔法外,她还能将两种以上属性组合,从 ...

  4. P3802 小魔女帕琪 期望

    P3802 小魔女帕琪 期望 题面 题意稍微不清楚,题中的a[i]指的是属性i的魔法有a[i]个. 题目大意:有7种魔法,每种数量a[i],每次随机放出一个魔法,问放完为止出现7次魔法都不相同的期望次 ...

  5. Luogu P3802 小魔女帕琪(期望)

    P3802 小魔女帕琪 题意 题目背景 从前有一个聪明的小魔女帕琪,兴趣是狩猎吸血鬼. 帕琪能熟练使用七种属性(金.木.水.火.土.日.月)的魔法,除了能使用这么多种属性魔法外,她还能将两种以上属性组 ...

  6. P3802 小魔女帕琪 概率与期望

    P3802 小魔女帕琪 题目背景 从前有一个聪明的小魔女帕琪,兴趣是狩猎吸血鬼. 帕琪能熟练使用七种属性(金.木.水.火.土.日.月)的魔法,除了能使用这么多种属性魔法外,她还能将两种以上属性组合,从 ...

  7. 洛谷 P3802 小魔女帕琪

    传送门 题目大意:7个东西,每个有ai个,只有选7次 把7个东西都选到了才行. 题解:7!排列数*每次选择的概率 代码: #include<iostream> #include<cs ...

  8. 洛谷P3802:小魔女帕琪

    题目背景 从前有一个聪明的小魔女帕琪,兴趣是狩猎吸血鬼. 帕琪能熟练使用七种属性(金.木.水.火.土.日.月)的魔法,除了能使用这么多种属性魔法外,她还能将两种以上属性组合,从而唱出强力的魔法.比如说 ...

  9. AC日记——小魔女帕琪 洛谷 P3802

    小魔女帕琪 思路: 概率公式计算: 代码: #include <bits/stdc++.h> using namespace std; ],sig; int main() { ;i< ...

随机推荐

  1. windows系统中启动应用需要的端口被别的程序占用

    开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选&qu ...

  2. MyBatis总结八:缓存介绍(一级缓存,二级缓存)

    简介 为数据库的查询进行缓存,是减少数据库压力的主要途径.分为一级缓存和二级缓存. 一级缓存:session级别缓存,作用于当前会话. 二级缓存:SessionFactory级别缓存,作用于整个Ses ...

  3. Comparatable接口和Comparator接口的使用与区别

    这篇博文可以为你解决的问题如下: 什么是自然排序 Collections.sort()与Arrays.sort()的异同点 Comparatable接口和Comparator接口各自的排序依据(理论讲 ...

  4. 【总结整理】json数据请求简化版理解(祺哥的成果)

    在同源js目录下新建.txt文件 { "news":[ {"title":"审计管理","time":"201 ...

  5. Nginx --Windows下和Linux下搭建集群小记

    nginx: Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器 特点: 反向代理 负载均衡 动静分离... 反向代理 : 先来了解正向代理:需要我们用户 ...

  6. Angular04 组件动态地从外部接收值、在组件中使用组件

    一.组件从外部接收值 1 修改组件的ts文件,让组件的属性可以从外部接收值 1.1 导入Input注解对象 1.2 在属性变量前面添加 @Input() 注解 1.3 去掉构造器中的属性变量赋值语句 ...

  7. windows 7 系统装机优化

    A:系统设置 1.控制面板\系统和安全\Windows Update\更改设置  把系统升级以及提示关闭      控制面板\系统和安全\Windows 防火墙\自定义设置 把专用网络和公共网络的防火 ...

  8. Windows 安装 Microsoft Visual Studio 2010

    Windows 安装 VS2010 我的电脑系统:Windows 10 x64位 我要安装的Microsoft Visual Studio 是:VS2010 注意: VS2010 没有专门的64位版. ...

  9. sequoiadb的c++应用开发1

    使用sequoiadb开发c++应用时需要使用BSON对象,本篇主要讲下BSON的操作方面的东西 1:构建一个_id的BSON对象 BSON的c++驱动给我提供了一个宏BSON,使用该对象可以很方便的 ...

  10. 多线程学习-基础(一)Thread和Runnable实现多线程

    很久没记录一些技术学习过程了,这周周五的时候偶尔打开“博客园”,忽然让我产生一种重拾记录学习过程的想法,记录下学习研究过程的一点一滴,我相信,慢慢地就进步了!最近想学习一下多线程高并发,但是多线程在实 ...