hdu 5001 Walk(记忆化搜索)
来源:互联网 发布:程序员博客系统 编辑:程序博客网 时间:2024/05/17 03:22
题目链接:hdu 5001 Walk
题目大意:给定一张图,每次随机移动到下一个节点,问所走完d步后,每个点没有被走过的概率。
解题思路:枚举每节点x,dp[i][j]表示第i步走到j节点的概率(没有经过x)。
#include <cstdio>#include <cstring>#include <vector>#include <algorithm>using namespace std;const int maxn = 55;const int maxm = 10005;int N, M, D;vector<int> g[maxn];double dp[maxm][maxn];void init () { scanf("%d%d%d", &N, &M, &D); for (int i = 0; i <= N; i++) g[i].clear(); int x, y; for (int i = 0; i < M; i++) { scanf("%d%d", &x, &y); g[x].push_back(y); g[y].push_back(x); } for (int i = 1; i <= N; i++) g[0].push_back(i);}double solve (int u) { double ret = 0; memset(dp, 0, sizeof(dp)); dp[0][0] = 1; for (int i = 0; i <= D; i++) { for (int j = 0; j <= N; j++) { if (u == j) continue; double p = 1.0 / g[j].size(); for (int k = 0; k < g[j].size(); k++) dp[i+1][g[j][k]] += dp[i][j] * p; } ret += dp[i+1][u]; } return 1.0 - ret;}int main () { int cas; scanf("%d", &cas); while (cas--) { init(); for (int i = 1; i <= N; i++) printf("%.10lf\n", solve(i)); } return 0;}
0 0
- hdu 5001 Walk(记忆化搜索)
- HDU5001-Walk(记忆化搜索)
- hdu 1142 A Walk Through the Forest (最短路 + 记忆化搜索)
- HDU 4444 Walk (离散化建图+BFS+记忆化搜索) 绝对经典
- hdu 1142 A Walk Through the Forest(spfa求最短路+记忆化搜索)
- HDU 1142 A Walk Through the Forest (SPFA+记忆化搜索)
- 【HDU】1142 A Walk Through the Forest 最短路+记忆化搜索
- HDU--1142--A Walk Through the Forest--深广搜/DP/最短路径/记忆化搜索
- hdu 1142 A Walk Through the Forest (Dijkstra + 记忆化搜索)
- HDU 1142 A Walk Through the Forest (Dijkstra + 记忆化搜索 好题)
- hdu-1142-A Walk Through the Forest-最短路+记忆化搜索
- HDU 1142 A Walk Through the Forest(spfa最短路+dfs记忆化搜索)
- hdu 1142 A Walk Through the Forest(最短路+记忆化搜索)
- hdu 1142 A Walk Through the Forest (digkstra+记忆化搜索)
- hdu 1142/hrbust 1347 A Walk Through the Forest/森林中的路【SPFA+记忆化搜索】
- HDU 1142 A Walk Through the Forest (记忆化搜索+Dijkstra算法)
- HDU 1142 A Walk Through the Forest (dijkstra+记忆化搜索)
- HDU 1142 A Walk Through the Forest【记忆化搜索+最短路Dijkstra算法】
- 记第一次写博客~~~
- 识别向上的手势启动一个应用
- 一个个人小项目的失败
- C++ 一些需要注意的细节
- InternetReadFile() 函数讲解
- hdu 5001 Walk(记忆化搜索)
- Java数据结构和算法(一)——开篇
- hdu 5003 Osu!(水题)
- 回车与换行的区别
- 嵌入式开发 Linux 与 商业OS的职业前景分析
- 最长回文(manacher)串
- JavaScript实现百度搜索suggestion功能
- 是德国的复合肥国际化快建好了
- struts2 jsp的session取值 if判断