Race to 1 Again LightOJ - 1038

题意:有一个数字D,每次把D变为它的一个因数(变到所有因数的概率相等,可能是本身),变到1后停止。求对于某个初始的D变到1的期望步数。

x的因子有p[1],...,p[k]

那么ans[x]=1/k*(ans[p[1]]+1)+...+1/k*(ans[p[k]]+1)
=1/k*(ans[p[1]]+...+ans[p[k-1]])+1/k*ans[p[k]]+1
(k-1)/k*ans[x]=1/k*(ans[p[1]]+...+ans[p[k-1]])+1
ans[x]=1/(k-1)*(ans[p[1]]+...+ans[p[k-1]])+k/(k-1)

  1. #include<cstdio>
  2. #include<cmath>
  3. using namespace std;
  4. int k,T,n;
  5. double anss,ans[];
  6. int main()
  7. {
  8. int i,j,t;
  9. for(i=;i<=;i++)
  10. {
  11. k=;
  12. anss=;
  13. for(j=;j<sqrt(i);j++)
  14. {
  15. if(i%j!=) continue;
  16. anss=anss+ans[j]+ans[i/j];
  17. k+=;
  18. }
  19. t=sqrt(i);
  20. if(t*t==i)
  21. {
  22. anss+=ans[t];
  23. k++;
  24. }
  25. ans[i]=anss/(k-)+(double)k/(k-);
  26. }
  27. scanf("%d",&T);
  28. for(i=;i<=T;i++)
  29. {
  30. scanf("%d",&n);
  31. printf("Case %d: %.9f\n",i,ans[n]);
  32. }
  33. return ;
  34. }

Race to 1 Again LightOJ - 1038的更多相关文章

  1. Day11 - D - Race to 1 Again LightOJ - 1038

    设dp_i为所求答案,每次选择因数的概率相同,设i有x个因数,dp_i=sum(1/x*x_j)+1,(x_j表示第j个因数),那我们就预处理每个数的因数即可,T=10000,需要预处理出答案 #in ...

  2. Lightoj 1038 - Race to 1 Again (概率DP)

    题目链接: Lightoj  1038 - Race to 1 Again 题目描述: 给出一个数D,每次可以选择数D的一个因子,用数D除上这个因子得到一个新的数D,为数D变为1的操作次数的期望为多少 ...

  3. LightOJ 1038 - Race to 1 Again(期望+DP)

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1038 题意是:给你一个N (1 ≤ N ≤ 105) 每次N都随机选一个因子d,然后让 ...

  4. LightOJ - 1038 Race to 1 Again —— 期望

    题目链接:https://vjudge.net/problem/LightOJ-1038 1038 - Race to 1 Again    PDF (English) Statistics Foru ...

  5. lightoj 1038 Race to 1 Again

    题意:给一个数,用这个数的因数除以这个数,直到为1时,求除的次数的期望. 设一个数的约数有M个,E[n] = (E[a[1]]+1)/M+(E[a[2]]+1)/M+...+(E[a[M]]+1)/M ...

  6. LightOJ 1038 Race to 1 Again(概率dp+期望)

    https://vjudge.net/problem/LightOJ-1038 题意:给出一个数n,每次选择n的一个约数m,n=n/m,直到n=1,求次数的期望. 思路:d[i]表示将i这个数变成1的 ...

  7. LightOJ 1038 Race to 1 Again (概率DP,记忆化搜索)

    题意:给定一个数 n,然后每次除以他的一个因数,如果除到1则结束,问期望是多少. 析:概率DP,可以用记忆公搜索来做,dp[i] = 1/m*sum(dp[j] + 1) + 1/m * (dp[i] ...

  8. LightOJ - 1038 Race to 1 Again 递推+期望

    题目大意:给出一个数,要求你按一定的规则将这个数变成1 规则例如以下,如果该数为D,要求你在[1,D]之间选出D的因子.用D除上这个因子,然后继续按该规则运算.直到该数变成1 问变成1的期望步数是多少 ...

  9. Lightoj 1038 - Race to 1 Again【期望+dp】

    题目:戳这里 题意:一个数字n不断迭代地除以自身的因子得到1.求这个过程中操作除法次数的期望. 解题思路: 求概率基本都是从一个最基础的状态开始延伸推出公式,得出答案.因为每个数都有个共同的最终状态1 ...

随机推荐

  1. 提示:“请检查浏览器代理设置”/xx-net

    1.删除已导入的证书文件(运行certmgr.msc和certlm.msc,然后自己找到xxnet删),2.更新3.3.1(或是自己找到那行代码取消注释,楼下有人提及)3.删除data文件夹(下的ce ...

  2. OSX: 第三方部署Profile的方法和比較

    眼下至少有三个第三方部署Profile的方法. 一个Profile Handler, 是利用Launchd对制定文件夹改变而激活的机制,把须要的profiles文件斗存放在制定目标机器的文件夹内,系统 ...

  3. lightoj 1138 - Trailing Zeroes (III)【二分】

    题目链接:http://lightoj.com/volume_showproblem.php? problem=1138 题意:问 N. 末尾 0 的个数为 Q 个的数是什么? 解法:二分枚举N,由于 ...

  4. vue Iframe

    1.Iframe.vue <!-- Iframe --> <template> <div> <!-- 标题栏 --> <mt-header tit ...

  5. powerdesign导出SQL时自己主动生成凝视

    1.使用脚本的方式 在里面执行 Option Explicit ValidationMode   = True InteractiveMode   =   im_Batch Dim   mdl   ' ...

  6. HDU 1017 A Mathematical Curiosity【看懂题意+穷举法】

    //2014.10.17    01:19 //题意: //先输入一个数N,然后分块输入,每块输入每次2个数,n,m,直到n,m同一时候为零时  //结束,当a和b满足题目要求时那么这对a和b就是一组 ...

  7. soapUI系列之—-05 JDBC Request & Xpath Match

    一.配置JDBC Connection String 1. 以Oracle为例,要使用JDBC数据库就要先下一个 oracle JDBC的驱动,下载成功后把它放到soapUI安装目录下的  bin/e ...

  8. C#&.NET高级面试题

    转自http://chaoyouzhuo.blog.163.com/blog/static/1263760012011109114131316/ 1. DateTime.Parse(myString) ...

  9. mt7620 uboot

    我本机装的是64位Ubuntu, SDK 里提供的 buildroot-gcc342 是32位的,无法直接运行,需要先安装 gcc-multilib. sudo apt-get install gcc ...

  10. 基于字符的打印机 图形化打印机 PostScript解释器

    60行*80字符/行=4800字节 300点/英寸(300DPI)   8*10英寸/页打印区域 光栅图像处理器  RIP PostScript程序--- > PostScript解释器 --& ...