LightOJ 1038 Race to 1 Again(概率期望)
来源:互联网 发布:软件项目管理方法 编辑:程序博客网 时间:2024/06/05 21:02
题意:给你一个数n,不断的除以它的约数,最终变成1。问变成1的步数的期望是多少。注意:n可以除1变成n。
分析:首先2的期望为什么是2,我想了好久都没想明白,最后虽然算出来了,但我依然不知道为什么是2.
计算的思路和 LightOJ 1027 类似。假设 2 的期望是d,那么 d = 1/2 * 1(1 是 从2直接变为1 的步数的期望) + 1/2 * (d + 1)(从2变成2再变成1 的步数的期望) 那么 d = 2;
同样的方法我们可以计算出来1e5以内所有数的期望。
#include<cstdio>#include<iostream>using namespace std;double a[200000];int main(){ for(int i = 2; i <= 100000; i++){ int k = 0; double p = 0; for(int j = 2 ; j * j <= i; j++){ if(i % j == 0){ p += a[j] + 1; if(i / j != j) { p += a[i / j] + 1; k++; } k++; } } a[i] = (double) (p + 2) / (k + 1); } int T; scanf("%d", &T); for(int kase = 1; kase <= T; kase++){ int n; scanf("%d", &n); printf("Case %d: %lf\n", kase, a[n]); } return 0;}
阅读全文
0 0
- LightOJ 1038 Race to 1 Again(概率期望)
- 期望概率dp lightoj 1038 Race to 1 Again
- LightOJ 1038 Race to 1 again 期望+概率dp
- LightOJ 1038 Race to 1 Again(概率期望DP)
- 【LightOJ 1038】Race to 1 Again(概率DP求期望)
- LightOJ 1038 - Race to 1 Again (期望dp)
- LightOJ-1038-Race to 1 Again(概率dp)
- LightOJ 1038 Race to 1 Again (约数+期望)
- LightOJ 1038 Race to 1 Again 期望 记忆化dp
- LightOJ - 1038 Race to 1 Again 递推+期望
- LightOJ 1038 - Race to 1 Again(期望DP)
- lightoj 1038-Race to 1 Again 期望类DP
- 【概率DP】 LightOJ 1038 Race to 1 Again
- lightoj 1038 - Race to 1 Again 【概率dp】
- LightOJ 1038 Race to 1 Again【概率DP】
- LightOJ 1038 Race to 1 Again [概率dp]
- light oj 1038 - Race to 1 Again(概率dp求期望 记忆化搜索)
- Race to 1 Again (期望)
- HDU 1114 Piggy-Bank (完全背包)
- 面向对象的设计模式---工厂模式和单例模式
- 【计算机视觉】七步带你认识计算机视觉
- cache 强缓存 协商缓存
- javascript 进阶
- LightOJ 1038 Race to 1 Again(概率期望)
- DS:对称矩阵
- Vessels CodeForces
- nginx去掉index.php 只需2个步骤。
- 学习系列-DLL
- Java swing 仿QQ实现系统托盘图标(下)
- C++ 二级指针的理解
- [数论] LOJ #508. 「LibreOJ NOI Round #1」失控的未来交通工具
- Spring Aop基础