Conjugate 解题报告
Conjugate
问题描述
在不存在的 \(\text{noip day3}\) 中,小 \(\text{w}\) 见到了一堆堆的谜题。
比如这题为什么会叫共轭?
他并不知道答案。
有 \(n\) 堆谜题,每堆有 \(a_i\) 个,小 \(\text{w}\) 每次从剩下的谜题中选择\(1\)个,然后把\(\tt{Ta}\)所在的那\(1\)堆谜题
全部丢掉。
小 \(\text{w}\) 期望多少次后丢掉第一堆?
输入格式
第一行一个整数 \(n\)。
接下来 \(n\) 个整数,表示 \(a_i\)。
输出格式
一个数表示期望,误差不得超过 \(10^{-6}\)。
数据规模与约定
对于 \(20\%\) 的数据, \(n ≤ 10\)。
对于 \(40\%\) 的数据, \(n ≤ 1000\)。
对于另外 \(20\%\) 的数据, \(a_i = 1\)。
对于 \(100\%\) 的数据, \(n ≤ 10^5,1 ≤ a_i ≤ 10^9\)。
算是积累了一种期望的思考与做题方式了。
期望的定义是:每个随机事件的概率 \(\times\) 这个随机事件的贡献 的和,要求所有随机事件交为要求的样本空间。
这个题,我们常见的划分随机事件是按照条件概率一个一个选择然后进行讨论的,但是这样其实没法进行计算。
如果我们规定这样一种随机事件:丢掉第\(i\)堆谜题在丢掉第\(1\)种谜题之前的事件。
那么在任何情况下,这种事件的概率都为\(\frac{a_i}{a_i+a_1}\)
这种随机事件对期望的贡献是\(1\),即\(i\)被抽取了\(1\)次,然后我们最后一次还要抽取一次\(1\),所以答案要加\(1\),则为
\]
期望可以这样算的原因主要还是因为期望具有可加性或者说期望是线性的
Code:
#include <cstdio>
#define rep(i,a,b) for(int i=a;i<=b;i++)
int n;double ans,a[2];
int main()
{
scanf("%d%lf",&n,a+1);
rep(i,2,n) scanf("%lf",a),ans+=a[0]/(a[1]+a[0]);
printf("%lf\n",ans+1);
return 0;
}
2018.10.24
Conjugate 解题报告的更多相关文章
- CH Round #56 - 国庆节欢乐赛解题报告
最近CH上的比赛很多,在此会全部写出解题报告,与大家交流一下解题方法与技巧. T1 魔幻森林 描述 Cortana来到了一片魔幻森林,这片森林可以被视作一个N*M的矩阵,矩阵中的每个位置上都长着一棵树 ...
- 二模13day1解题报告
二模13day1解题报告 T1.发射站(station) N个发射站,每个发射站有高度hi,发射信号强度vi,每个发射站的信号只会被左和右第一个比他高的收到.现在求收到信号最强的发射站. 我用了时间复 ...
- BZOJ 1051 最受欢迎的牛 解题报告
题目直接摆在这里! 1051: [HAOI2006]受欢迎的牛 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 4438 Solved: 2353[S ...
- 习题:codevs 2822 爱在心中 解题报告
这次的解题报告是有关tarjan算法的一道思维量比较大的题目(真的是原创文章,希望管理员不要再把文章移出首页). 这道题蒟蒻以前做过,但是今天由于要复习tarjan算法,于是就看到codevs分类强联 ...
- 习题:codevs 1035 火车停留解题报告
本蒟蒻又来写解题报告了.这次的题目是codevs 1035 火车停留. 题目大意就是给m个火车的到达时间.停留时间和车载货物的价值,车站有n个车道,而火车停留一次车站就会从车载货物价值中获得1%的利润 ...
- 习题: codevs 2492 上帝造题的七分钟2 解题报告
这道题是受到大犇MagHSK的启发我才得以想出来的,蒟蒻觉得自己的代码跟MagHSK大犇的代码完全比不上,所以这里蒟蒻就套用了MagHSK大犇的代码(大家可以关注下我的博客,友情链接就是大犇MagHS ...
- 习题:codevs 1519 过路费 解题报告
今天拿了这道题目练练手,感觉自己代码能力又增强了不少: 我的思路跟别人可能不一样. 首先我们很容易就能看出,我们需要的边就是最小生成树算法kruskal算法求出来的边,其余的边都可以删掉,于是就有了这 ...
- NOIP2016提高组解题报告
NOIP2016提高组解题报告 更正:NOIP day1 T2天天爱跑步 解题思路见代码. NOIP2016代码整合
- LeetCode 解题报告索引
最近在准备找工作的算法题,刷刷LeetCode,以下是我的解题报告索引,每一题几乎都有详细的说明,供各位码农参考.根据我自己做的进度持续更新中...... ...
随机推荐
- go执行外部应用
go执行外部应用 最近想将原来用asp.net mvc写的一个公司内部网站改用beego来写,但发现其中有一个功能是,能将加密的sqlite文件进行解密,因为这个解密是不能公开的,但有些同事需要查看这 ...
- Hadoop Sentry 学习
什么是Sentry? Sentry 是Cloudera 公司发布的一个Hadoop开源组件,它提供细粒度基于角色的安全控制 Sentry下的数据访问和授权 通过引进Sentry,Hadoop目前可在以 ...
- DecimalFormat的用法
DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字. DecimalFormat 包含一个模式 和一组符符号含义: 0 一个数字 # 一个数字,不包括 0 ...
- 台湾ML笔记--1.2 formalize the learning probelm
Basic notations input: x∈χ (customer application) output: y∈y (good/bad after approving cred ...
- Java工程师笔试题整理[校招篇]
Java工程师笔试题整理[校招篇] 隔着两个月即将开始校招了.你是不是也想借着这个机会崭露头角,拿到某些大厂的offer,赢取白富美.走上人生巅峰?当然如果你还没能打下Java基础,一定要先打 ...
- jmeter添加自定义扩展函数之图片base64编码
打开eclipse,新建maven工程,在pom中引入jmeter核心jar包: <!-- https://mvnrepository.com/artifact/org.apache.jmete ...
- Selenium页面工厂+数据驱动测试框架
工程的目录结构: pom.xml文件: <?xml version="1.0" encoding="UTF-8"?><project xmln ...
- Faster RCNN代码解析
1.faster_rcnn_end2end训练 1.1训练入口及配置 def train(): cfg.GPU_ID = 0 cfg_file = "../experiments/cfgs/ ...
- HDU 4588 Count The Carries(数学统计)
Description One day, Implus gets interested in binary addition and binary carry. He will transfer al ...
- python基础之删除文件及删除目录的方法
下面来看一下python里面是如何删除一个文件及文件夹的~~ 1 2 3 4 5 6 7 8 #首先引入OS模块 import os #删除文件: os.remove() #删除空目录: os.r ...