LightOJ 1342 Aladdin and the Magical Sticks 期望(结论题)

Posted mountaink

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LightOJ 1342 Aladdin and the Magical Sticks 期望(结论题)相关的知识,希望对你有一定的参考价值。

题目传送门

  题意:n根木棍,每根木棍都有一个权值,木棍有可识别的木棍和不可识别的木棍,每次抽取木棍时,会累加权值,如果是可识别的木棍就不放回,不可识别的木棍就放回,问每根木棍至少被抽取一次的概率是多少。

  思路:论文题?

    1类棍子只会拿起一次,ans+=权值

    2类棍子会拿起多次,ans+=权值*h[n]       h[n]为欧拉函数第n项

  一个带了点证明的博客

#include<bits/stdc++.h>
#define rep(i,a,b) for(int i=a;i<=b;i++)
#define dep(i,b,a) for(int i=b;i>=a;i--)
#define clr(a,b) memset(a,b,sizeof(a))
#define pb push_back
#define pii pair<int,int >
using namespace std;
typedef long long ll;
ll rd() 
    ll x=0,f=1;
    char ch=getchar();
    while(ch<0||ch>9) 
        if(ch==-)f=-1;
        ch=getchar();
    
    while(ch>=0&&ch<=9) 
        x=x*10+ch-0;
        ch=getchar();
    
    return x*f;

const int maxn=5000+10;
double f[maxn];
int main()
    int T,cat=1;
    for(int i=1;i<=5000;i++)
        f[i]=f[i-1]+1.0/i;
    
    cin>>T;
    while(T--)
        int n;
        double ans=0;
        cin>>n;
        rep(i,1,n)
            int w,ty;
            cin>>w>>ty;
            if(ty==1)
                ans+=w;
            else
                ans+=w*f[n];
            
        
        printf("Case %d: %.7f\\n",cat++,ans);
    

 

以上是关于LightOJ 1342 Aladdin and the Magical Sticks 期望(结论题)的主要内容,如果未能解决你的问题,请参考以下文章

LightOJ 1341(Aladdin and the Flying Carpet )算术基本定理

LightOJ 1341 - Aladdin and the Flying Carpet 基本因子分解

[LightOJ 1341] Aladdin and the Flying Carpet (算数基本定理(唯一分解定理))

LightOJ1341 Aladdin and the Flying Carpet

LightOJ 1341 Aladdin and the Flying Carpet(唯一分解定理)

LightOJ1341 Aladdin and the Flying Carpet 约数相关问题