uva11762 Race to 1 概率dp求期望+记忆化搜索
2014-07-04 08:42
381 查看
题目链接
#include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using namespace std; typedef long long ll; const int MAXN=1000000+100; int n,cnt; int prime[MAXN],vis[MAXN]; double dp[MAXN]; void get_prime() { cnt=0; memset(vis,0,sizeof(vis)); int m=(int)sqrt(MAXN+0.5); for(int i=2;i<=m;i++) for(int j=i*i;j<MAXN;j+=i) vis[j]=1; for(int i=2;i<MAXN;i++) if(!vis[i]) prime[cnt++]=i; } double dfs(int x) { if(x==1) return 0.0; if(vis[x]) return dp[x]; vis[x]=1; int g=0,p=0; dp[x]=0; for(int i=0;i<cnt && prime[i]<=x ;i++) { p++; if(x % prime[i] == 0) { g++; dp[x]+=dfs(x/prime[i]); } } dp[x]=(dp[x]+p)/g; return dp[x]; } int main() { freopen("text.txt","r",stdin); int T,kase=0; get_prime(); scanf("%d",&T); while(T--) { kase++; scanf("%d",&n); memset(vis,0,sizeof(vis)); printf("Case %d: %.10lf\n",kase,dfs(n)); } return 0; }
相关文章推荐
- UVa 11762 - Race to 1 (概率 期望 DP 马尔可夫过程)
- [uva 11762]Race to 1[概率DP]
- UVA 11762 Race to 1 概率DP
- UVa 11762 Race to 1 / 概率DP
- [uva 11762]Race to 1[概率DP]
- UVA 11762 Race to 1 dp+概率
- UVA - 11762 - Race to 1 记忆化概率
- UVA 11762 概率dp+期望
- UVA 11762 - Race to 1(概率)
- UVA 11762 Race To 1 [期望DP]
- UVA 11762 - Race to 1(概率)
- uva 11021 Tribbles 麻球繁衍 概率dp
- UVA - 11427 Expect the Expected (DP+概率)
- Uva 10288 Coupons (概率dp)
- Uva 11181 Probability|Given(概率dp)
- Coupons - UVa 10288 概率dp
- UVALive 6175 Maximum Random Walk 期望+概率dp
- UVA - 11468 Substring (AC自动机 + 概率dp)
- UVA 10529 Dumb Bones 概率dp 求期望
- UVA 6624(简单概率dp)