zoukankan      html  css  js  c++  java
  • Conjugate

    1.1
    Conjugate
    问题描述
    在不存在的 noip day3 里,小 w ⻅到了一堆堆的谜题。
    比如这题为什么会叫共轭?
    他并不知道答案。
    有 n 堆谜题,每堆有 a i 个,小 w 每次从剩下的谜题中选择一个,然后把所在的那一堆谜题
    全部丢掉。
    小 w 期望多少次后丢掉第一堆?
    1.2
    输入格式
    一行一个整数 n。
    一行 n 个整数,表示 a i 。
    1.3
    输出格式
    一行一个数表示期望,误差不得超过 10 −6 。
    1.4
    样例输入
    2
    1 1
    1.5
    样例输出
    1.5
    1.6
    数据规模与约定
    对于 20% 的数据,n ≤ 10。
    对于 40% 的数据,n ≤ 1000。
    对于另外 20% 的数据,a i = 1。
    对于 100% 的数据,n ≤ 10 5 , 1 ≤ a i ≤ 10 9 。

    期望可加性,考虑每一堆比第一堆先抽到的概率
    每次丢掉一堆可以等价的变为,每次抽到一个把这一堆标记
    为访问过,如果抽到一个访问过的,那么把它丢掉
    显然别的堆不影响答案
    第 i 堆的贡献是ai/(a1+ai)

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 using namespace std;
     6 int n;
     7 double a[100001],ans;
     8 int main()
     9 {int i;
    10   cin>>n;
    11   for (i=1;i<=n;i++)
    12     scanf("%lf",&a[i]);
    13   ans=1.0;
    14   for (i=2;i<=n;i++)
    15     ans+=(a[i]/(a[1]+a[i]));
    16   printf("%.6lf
    ",ans);
    17 }
  • 相关阅读:
    Mybatis入门
    结合模板导出PDF文件
    生成Excel文件
    生成PDF文件
    BeanFactory not initialized or already closed
    Oracle数据库的视图
    ORACLE简介
    Cookie和session
    【cookie的使用】&【Session】
    过滤器的相关知识
  • 原文地址:https://www.cnblogs.com/Y-E-T-I/p/7778076.html
Copyright © 2011-2022 走看看