Luogu P3802 小魔女帕琪(期望)
题意
题目背景
从前有一个聪明的小魔女帕琪,兴趣是狩猎吸血鬼。
帕琪能熟练使用七种属性(金、木、水、火、土、日、月)的魔法,除了能使用这么多种属性魔法外,她还能将两种以上属性组合,从而唱出强力的魔法。比如说为了加强攻击力而将火和木组合,为了掩盖弱点而将火和土组合等等,变化非常丰富。
题目描述
现在帕琪与强大的夜之女王,吸血鬼蕾咪相遇了,夜之女王蕾咪具有非常强大的生命力,普通的魔法难以造成效果,只有终极魔法:帕琪七重奏才能对蕾咪造成伤害。帕琪七重奏的触发条件是:连续释放的\(7\)个魔法中,如果魔法的属性各不相同,就能触发一次帕琪七重奏。
现在帕琪有\(7\)种属性的能量晶体,分别为\(a1,a2,a3,a4,a5,a6,a7\)(均为自然数),每次释放魔法时,会随机消耗一个现有的能量晶体,然后释放一个对应属性的魔法。
现在帕琪想知道,她释放出帕琪七重奏的期望次数是多少,可是她并不会算,于是找到了学\(OI\)的你。
输入输出格式
输入格式:
一行\(7\)个数字,\(a1,a2,a3,a4,a5,a6,a7\)。
输出格式:
一个四舍五入保留\(3\)位的浮点数
输入输出样例
输入样例#1:
1 1 1 1 1 1 1
输出样例#1:
1.000
说明
样例说明:
显然一定会触发一次帕琪七重奏。
数据范围:
对于\(30\%\)的测试点,\(a1+a2+a3+a4+a5+a6+a7<=10\)
对于\(100\%\)的测试点,\(a1+a2+a3+a4+a5+a6+a7<=10^9\)
思路
翻译一下这个\(fancy\)的题面:
求在一个由\(a1\)个\(1\),\(a2\)个\(2\),\(a3\)个\(3\),\(a4\)个\(4\),\(a5\)个\(5\),\(a6\)个\(6\),\(a7\)个\(7\)组成的一个数列中,出现\(1\sim 7\)的全排列的次数期望。
首先设\(sum=\Sigma^7_{i-1}a_i\)。数列的第一个数为\(1\)的概率为\(\frac{a_1}{sum}\),第二位数为\(2\)的概率为\(\frac{a_2}{sum}\)...那么前七个数为\(1,2,3,4,5,6,7\)的概率就是:
\]
\(1\sim 7\)的全排列一共有\(7!\)种,所以前七个数为\(1\sim 7\)的全排列的概率就是:
\]
不从第一位开始,其实从第\(i\)位开始的七个数为\(1\sim 7\)的全排列的概率都是上面那个式子。所以最后的总期望就是:
\]
约分一下:
\]
这就是答案。
AC代码
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef long double LD;
LD a1,a2,a3,a4,a5,a6,a7,sum,ans;
int main()
{
cin>>a1>>a2>>a3>>a4>>a5>>a6>>a7;
if(!a1||!a2||!a3||!a4||!a5||!a6||!a7) goto flag;
sum=a1+a2+a3+a4+a5+a6+a7;
ans=LD(5040)/sum*a1/(sum-LD(1))*a2/(sum-LD(2))*a3/(sum-LD(3))*a4/(sum-LD(4))*a5/(sum-LD(5))*a6/(sum-LD(6))*a7*(sum-6);
flag:
cout<<fixed<<setprecision(3)<<ans;
return 0;
}
Luogu P3802 小魔女帕琪(期望)的更多相关文章
- P3802 小魔女帕琪 期望
P3802 小魔女帕琪 期望 题面 题意稍微不清楚,题中的a[i]指的是属性i的魔法有a[i]个. 题目大意:有7种魔法,每种数量a[i],每次随机放出一个魔法,问放完为止出现7次魔法都不相同的期望次 ...
- Luogu P3802 小魔女帕琪
P3802 小魔女帕琪 题目背景 从前有一个聪明的小魔女帕琪,兴趣是狩猎吸血鬼. 帕琪能熟练使用七种属性(金.木.水.火.土.日.月)的魔法,除了能使用这么多种属性魔法外,她还能将两种以上属性组合,从 ...
- P3802 小魔女帕琪 概率与期望
P3802 小魔女帕琪 题目背景 从前有一个聪明的小魔女帕琪,兴趣是狩猎吸血鬼. 帕琪能熟练使用七种属性(金.木.水.火.土.日.月)的魔法,除了能使用这么多种属性魔法外,她还能将两种以上属性组合,从 ...
- 洛谷 P3802 小魔女帕琪 解题报告
P3802 小魔女帕琪 题目背景 从前有一个聪明的小魔女帕琪,兴趣是狩猎吸血鬼. 帕琪能熟练使用七种属性(金.木.水.火.土.日.月)的魔法,除了能使用这么多种属性魔法外,她还能将两种以上属性组合,从 ...
- 洛谷P3802 小魔女帕琪
P3802 小魔女帕琪 题目背景 从前有一个聪明的小魔女帕琪,兴趣是狩猎吸血鬼. 帕琪能熟练使用七种属性(金.木.水.火.土.日.月)的魔法,除了能使用这么多种属性魔法外,她还能将两种以上属性组合,从 ...
- P3802 小魔女帕琪
传送门 考虑前面7个魔法 如果前面七个魔法各不相同,那么就能完成一次帕琪七重奏 设 A=a1*a2*...*a7,S=a1+a2+...+a7,B=S*(S-1)*...*(S-6) 对于不同的施法顺 ...
- 洛谷 P3802 小魔女帕琪
传送门 题目大意:7个东西,每个有ai个,只有选7次 把7个东西都选到了才行. 题解:7!排列数*每次选择的概率 代码: #include<iostream> #include<cs ...
- 洛谷P3802:小魔女帕琪
题目背景 从前有一个聪明的小魔女帕琪,兴趣是狩猎吸血鬼. 帕琪能熟练使用七种属性(金.木.水.火.土.日.月)的魔法,除了能使用这么多种属性魔法外,她还能将两种以上属性组合,从而唱出强力的魔法.比如说 ...
- AC日记——小魔女帕琪 洛谷 P3802
小魔女帕琪 思路: 概率公式计算: 代码: #include <bits/stdc++.h> using namespace std; ],sig; int main() { ;i< ...
随机推荐
- 高可用开源方案Heartbeat vs Keepalived
转:http://www.kuqin.com/shuoit/20140623/340745.html 最近因为项目需要,简单的试用了两款高可用开源方案:Keepalived和Heartbeat.两者都 ...
- 秦曾昌人工智能课程---6、Decision Tree Learning
秦曾昌人工智能课程---6.Decision Tree Learning 一.总结 一句话总结: 怎样去构建决策树:比如一维:***|00|***|000|***,|为分割线,每个分割点都是一种情况, ...
- elementui tree 节点过滤加载对应子节点
/官网例子 <el-input placeholder="输入关键字进行过滤" v-model="filterText"> </el-inpu ...
- servlet和servlet-mapping的作用
转载:https://www.jianshu.com/p/6dadc489969a 某个工程的 web.xml 文件片段: 执行顺序 访问顺序为1—>2—>3—>4,其中2和3的 ...
- 日常 java+雅思+训练题1
今天主要学了一些类似c中的一些语句,java也是一样类似的,只有一些点需要稍微注意一下,一些语句是新增的需要知道. 完完全全新学的知识就是class和instance的区别.如何创建实例.数据的封装. ...
- csv转字典
with open('filename','r') as csv_f: reader = csv.reader(csv_f) fieldnames = next(reader) csv_reader ...
- 多线程中Runnable 和Thread关于synchronized的疑点
学java时和同学碰到的一道题: 转自https://blog.csdn.net/qq_40857349/article/details/102809100 某公司组织年会,会议入场时有两个入口,在入 ...
- JS函数 有参数的函数 参数可以多个,根据需要增减参数个数。参数之间用(逗号,)隔开
有参数的函数 上节中add2()函数不能实现任意指定两数相加.其实,定义函数还可以如下格式: function 函数名(参数1,参数2) { 函数代码 } 注意:参数可以多个,根据需要增减参数个数.参 ...
- vue 挂载点 实例 模板
挂载点:vue实例 里面的el属性 对应的 id 所在的dom节点 模板:指的是挂载点内部的内容 模板可以写在挂载点内部 也可以写在属性里面 demo < ...
- Android 开发 框架系列 OkHttp拦截器
前言 此篇博客只讲解okhttp的拦截器功能的详细使用,如果你还不太了解okhttp可以参考我另外一篇博客 Android 开发 框架系列 OkHttp使用详解 添加Interceptor的简单例子 ...