多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > [期望dp+記憶化搜索] light oj 1038 Race to 1 Again

[期望dp+記憶化搜索] light oj 1038 Race to 1 Again

來源:程序員人生   發布時間:2015-07-29 08:12:18 閱讀次數:2501次

題意:

給1個數n,每次隨機選它的1個約數去除n,直到除到1為止,問除的次數的期望。

思路:

E[n]= E[n/a[1]]/cnt+E[n/a[2]]/cnt+...+E[n/a[n]]/cnt+1

a[i]為n的約數,cnt為約數的個數。

明顯a[i]=1  則(1⑴/cnt)E[n]=E[n/a[2]]/cnt+...+E[n/a[n]]/cnt+1

記憶化搜索就ok了~

代碼:

#include"cstdlib" #include"cstdio" #include"cstring" #include"cmath" #include"queue" #include"algorithm" #include"iostream" #include"map" #include"stack" #include"vector" #define ll __int64 #define eps 1e⑻ #define inf ⑼99999999999999999LL using namespace std; double dp[123567]; double dfs(int x) { if(x==1) return 0.0; if(fabs(dp[x]+1)>eps) return dp[x]; int cnt=0; double ans=1.0; int lit=sqrt(x*1.0); for(int i=1; i<=lit; i++) //統計因子數 { if(x%i==0) { if(i*i==x) cnt++; else cnt+=2; } } for(int i=1; i<=lit; i++) //求期望的和 { if(x%i==0) { if(i*i==x) ans+=1.0/cnt*dfs(x/i); else { if(i!=1) ans+=1.0/cnt*dfs(x/i); ans+=1.0/cnt*dfs(i); } } } ans=ans/(1⑴.0/cnt); return dp[x]=ans; } int main() { int t,cas=1; cin>>t; memset(dp,⑴,sizeof(dp)); while(t--) { int n; scanf("%d",&n); printf("Case %d: %.7f ",cas++,dfs(n)); } return 0; }


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 午夜在线精品不卡国产 | 中文字幕一区二区三区永久 | 免费国产成高清人在线视频 | 视频www | 亚州不卡| 最近免费中文字幕大全免费 | 久久99国产精品成人 | 日韩精品一区二区三区四区 | 精品视频一区二区三区免费 | 欧美日韩国产综合在线小说 | 欧美日韩亚洲国产精品 | 国产亚洲欧美精品久久久 | 精品成人资源在线观看 | 国产精品女上位在线观看 | 亚洲图片欧美小说 | 国产成人一区二区三区视频免费蜜 | 2022偷拍午夜视频在线播放 | 久久久久久久久一次 | 欧美九九| 簧片免费在线观看 | 天天拍夜夜添久久精品中文 | 最近最新视频中文字幕3 | 久久福利网 | h视频免费在线观看 | 亚洲 春色 古典 小说 自拍 | 一区二区在线视频 | 欧美爱爱网站 | 欧美视频在线观看xxxx | 欧美高清免费一级在线 | 欧洲福利视频 | 在线亚洲欧国产精品专区 | 国产精品综合一区二区三区 | www日本xxxx| 亚洲国产情侣偷自在线二页 | 成人区视频爽爽爽爽爽 | 九一国产精品 | jizz免费一区二区三区 | 日本高清在线观看视频www | 亚洲日韩精品欧美一区二区 | 中文字幕看片在线a免费 | 亚洲区欧美区 |