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