lightoj1038 - Race to 1 Again(概率DP)
来源:互联网 发布:linux云计算就业前景 编辑:程序博客网 时间:2024/06/02 21:19
题意 : 一开始给你一个数D然后随机从它的因子中找出一个x,进行D = D / x操作, 这样算一步,直到D=1结束,问你P(D)的期望是几步。
思路 : 建边之后就是典型的概率DP题,状态转移方程式 : P(D) = (∑(P(D的非1和本身因子)+1) + 2) / (因子数+1) ;
#include <cstdio>#include <cstring>const int maxn = 100005;const double eps = 1e-7;struct Edge{ int to, next;}edge[maxn*20];double dp[maxn];int E, head[maxn];void add_edge(int u, int to){ edge[E].to = to; edge[E].next = head[u]; head[u] = E++;}void init(){ E = 0; memset(head, -1, sizeof(head)); for (int i = 0; i < maxn; i++)dp[i] = 0.0; for (int x = 100000; x >= 2; x--){ for (int i = 2; i * i <= x; i++)if (x % i == 0){ add_edge(x, i); if (x / i != i)add_edge(x, x/i); } }}double dfs(int u){ if (dp[u] >= eps)return dp[u]; if (u == 1)return 0.0; double sum = 2; int cnt = 2; for (int i = head[u]; i != -1; i = edge[i].next){ cnt++; sum += dfs(edge[i].to) + 1; } return dp[u] = sum / (cnt-1);}int main(){ int T, n; init(); scanf("%d", &T); for (int cas = 1; cas <= T; cas++){ scanf("%d", &n); printf("Case %d: %f\n", cas, dfs(n)); } return 0;}
- lightoj1038 - Race to 1 Again(概率DP)
- LIghtOJ1038---Race to 1 Again(概率dp)
- LightOJ1038---Race to 1 Again (概率dp(基础))
- lightoj1038 - Race to 1 Again(期望DP)
- LightOJ1038-Race to 1 Again
- LightOJ1038-Race to 1 Again
- Race to 1 Again [概率]
- 【概率DP】 LightOJ 1038 Race to 1 Again
- Light oj 1038 Race to 1 Again(概率dp)
- Light oj 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】
- LightOJ-1038-Race to 1 Again(概率dp)
- LightOJ 1038 Race to 1 Again [概率dp]
- LightOJ 1038 Race to 1 Again(概率期望DP)
- 动态规划晋级——Race to 1 Again【概率DP】
- win7下搭建qt+opencv编程环境详细步骤...我的血泪史,希望能帮到正在学习的人!
- lua的FFI库--alien
- 看小米魅族对比视频想到的
- mysql数据库安装+完整删除
- 基于live555的视频直播
- lightoj1038 - Race to 1 Again(概率DP)
- 努力ing
- 用抽象类设计计算二维平面图形面积的程序,在基类TDshape中设计纯虚函数area()和printName()......C++的158页5题
- live555 实现一个最简单的RTSP服务器
- Android4.2.2 Gallery2源码分析(10)——Activity于View的结合
- 记录一个博客地址
- 导出MySql数据库字典的PHP脚本
- SGU 131 Hardwood floor(状压DP)
- 前缀表达式