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\),则为

\[sum_{i=2}^n\frac{a_i}{a_i+a_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 解题报告的更多相关文章

  1. CH Round #56 - 国庆节欢乐赛解题报告

    最近CH上的比赛很多,在此会全部写出解题报告,与大家交流一下解题方法与技巧. T1 魔幻森林 描述 Cortana来到了一片魔幻森林,这片森林可以被视作一个N*M的矩阵,矩阵中的每个位置上都长着一棵树 ...

  2. 二模13day1解题报告

    二模13day1解题报告 T1.发射站(station) N个发射站,每个发射站有高度hi,发射信号强度vi,每个发射站的信号只会被左和右第一个比他高的收到.现在求收到信号最强的发射站. 我用了时间复 ...

  3. BZOJ 1051 最受欢迎的牛 解题报告

    题目直接摆在这里! 1051: [HAOI2006]受欢迎的牛 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4438  Solved: 2353[S ...

  4. 习题:codevs 2822 爱在心中 解题报告

    这次的解题报告是有关tarjan算法的一道思维量比较大的题目(真的是原创文章,希望管理员不要再把文章移出首页). 这道题蒟蒻以前做过,但是今天由于要复习tarjan算法,于是就看到codevs分类强联 ...

  5. 习题:codevs 1035 火车停留解题报告

    本蒟蒻又来写解题报告了.这次的题目是codevs 1035 火车停留. 题目大意就是给m个火车的到达时间.停留时间和车载货物的价值,车站有n个车道,而火车停留一次车站就会从车载货物价值中获得1%的利润 ...

  6. 习题: codevs 2492 上帝造题的七分钟2 解题报告

    这道题是受到大犇MagHSK的启发我才得以想出来的,蒟蒻觉得自己的代码跟MagHSK大犇的代码完全比不上,所以这里蒟蒻就套用了MagHSK大犇的代码(大家可以关注下我的博客,友情链接就是大犇MagHS ...

  7. 习题:codevs 1519 过路费 解题报告

    今天拿了这道题目练练手,感觉自己代码能力又增强了不少: 我的思路跟别人可能不一样. 首先我们很容易就能看出,我们需要的边就是最小生成树算法kruskal算法求出来的边,其余的边都可以删掉,于是就有了这 ...

  8. NOIP2016提高组解题报告

    NOIP2016提高组解题报告 更正:NOIP day1 T2天天爱跑步 解题思路见代码. NOIP2016代码整合

  9. LeetCode 解题报告索引

    最近在准备找工作的算法题,刷刷LeetCode,以下是我的解题报告索引,每一题几乎都有详细的说明,供各位码农参考.根据我自己做的进度持续更新中......                        ...

随机推荐

  1. python练习笔记

    python练习笔记,装饰器.定制方法生成特定的类 # -*- coding: utf-8 -*- def catch_exception(func): def wrap(self, *args, * ...

  2. 阅读《大型网站技术架构》,并结合"重大需求征集系统"有感

    今天阅读了<大型网站技术架构:核心原理与案例分析>的第五.六.七章.这三张主要是讲述了一个系统的可用性.伸缩性和可扩展性.而根据文中所讲述的,一个系统的可用性主要是体现在这个系统的系统服务 ...

  3. Python协程中使用上下文

    在Python 3.7中,asyncio 协程加入了对上下文的支持.使用上下文就可以在一些场景下隐式地传递变量,比如数据库连接session等,而不需要在所有方法调用显示地传递这些变量.使用得当的话, ...

  4. 【GUI】一、Swing外观框架BeautyEye使用

    一.Swing外观框架BeautyEye使用 1.1 导包 BeautyEye.jar 1.2 使用BeautyEye L&F public static void main(String[] ...

  5. poj_2339

    参考:https://blog.csdn.net/yzl_rex/article/details/7600906 https://blog.csdn.net/acm_JL/article/detail ...

  6. 41-Individual authentication 模板

    1-创建项目,进入vscode控制台,输出如下命令, uld表示指定mssqllocaldb E:\coding\netcore>dotnet new mvc -au Individual -u ...

  7. python2.7入门---Number(数字)

        今天咱们来简单分享一下关于python中的一种数据类型和操作方法.费话不多说哈,咱们直接来进行实践加理论.首先,我们要知道,Python Number 数据类型用于存储数.数据类型是不允许改变 ...

  8. delphi 数据库中Connection与Query连接数量问题思考

    今天闲着没事,测试了一下Connection连接MSSQL,可以承受多少连接.    1.看看ADOConnection的连接数:写了一个代码,动态创建,测试了10000个连接,花了大约5~10分钟创 ...

  9. python基础——重访类型分类

    python基础--重访类型分类 对象根据分类来共享操作:例如,字符串.列表和元组都共享诸如合并.长度和索引等序列操作. 只有可变对象(列表.字典和集合)可以原处修改:我们不能原处修改数字,字符串.元 ...

  10. NSDictionary底层实现原理

    一言以蔽之:在OC中NSDictionary是使用hash表来实现key和value的映射和存储的. 那么问题来了什么是hash表呢? 哈希表(hash表): 又叫做散列表,是根据关键码值(key v ...