http://acm.hdu.edu.cn/showproblem.php?pid=5001

每次去掉要算的点,求出到达其他点的概率,就是不能到达这个点的概率

开始想去算到达这个点的概率,再去减,不过这种方法证实是不对的,重复走的情况会重复计算

#include <iostream>
#include <cstdio>
#include <cstring>
#include <queue>
#include <algorithm>
#include <vector>
using namespace std ; double dp[][] ;
int mp[][] ;
int cnt[] ;
int main()
{
int T ;
scanf("%d",&T) ;
while(T--)
{
int n,m,d ;
scanf("%d%d%d",&n,&m,&d) ;
memset(mp,,sizeof(mp)) ;
for(int i= ;i<m ;i++)
{
int a,b ;
scanf("%d%d",&a,&b) ;
mp[a][b]=mp[b][a]= ;
}
memset(cnt,,sizeof(cnt)) ;
for(int i= ;i<=n ;i++)
{
for(int j= ;j<=n ;j++)
{
if(i==j)continue ;
if(mp[i][j])cnt[i]++ ;
}
}
for(int v= ;v<=n ;v++)
{
for(int i= ;i< ;i++)
for(int j= ;j< ;j++)
dp[i][j]=0.0 ;
for(int i= ;i<=n ;i++)
dp[i][]=1.0/n ;
for(int i= ;i<=d ;i++)
{
for(int j= ;j<=n ;j++)
{
if(v==j)continue ;
for(int h= ;h<=n ;h++)
{
if(mp[h][j])dp[h][i]+=dp[j][i-]*(1.0/cnt[j]) ;
}
}
}
double ans=0.0 ;
for(int i= ;i<=n ;i++)
{
if(v==i)continue ;
ans+=dp[i][d] ;
}
printf("%.6lf\n",ans) ;
}
}
return ;
}

HDU 5001的更多相关文章

  1. Hdu 5001 Walk 概率dp

    Walk Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5001 Desc ...

  2. hdu 5001 从任意点出发任意走d步不经过某点概率

    http://acm.hdu.edu.cn/showproblem.php?pid=5001 给定n个点m条边的无向图问从任意点出发任意走d步,从不经过某个点的概率 本想先算路过每个点的概率然后用1减 ...

  3. hdu 5001 概率DP 图上的DP

    http://acm.hdu.edu.cn/showproblem.php?pid=5001 当时一看是图上的就跪了 不敢写,也没退出来DP方程 感觉区域赛的题  一则有一个点难以想到 二则就是编码有 ...

  4. HDU 5001 Walk

    解题思路:这是一道简单的概率dp,只要处理好相关的细节就可以了. dp[d][i]表示走d步时走到i的改概率,具体参考代码: #include<cstdio> #include<cs ...

  5. HDU 5001 概率DP || 记忆化搜索

    2014 ACM/ICPC Asia Regional Anshan Online 给N个点,M条边组成的图,每一步能够从一个点走到相邻任一点,概率同样,问D步后没走到过每一个点的概率 概率DP  測 ...

  6. hdu 5001(概率DP)

    Walk Time Limit: 30000/15000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Subm ...

  7. HDU - 5001 Walk(概率dp+记忆化搜索)

    Walk I used to think I could be anything, but now I know that I couldn't do anything. So I started t ...

  8. HDU 5001 Walk (暴力、概率dp)

    Walk Time Limit: 30000/15000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Sub ...

  9. 【概率dp,难度3颗星】hdu-5001(2014鞍山网络赛)

    给你一个连通的无向图,等概率随机选取一个起点,走d步,每一步等概率走到相邻的点.问走完d步之后,每个点没有被经过的概率. 推状态的关键当然就是对这个“从任意起点走完d步点node没被经过的概率”的理解 ...

随机推荐

  1. python中函数使用

    1.关于函数的调用,简单小例子: >>> def fun():  print(test) >>> test='ni hao ma ?'>>> fu ...

  2. ADO.NET事务处理,初始回调函数,多张表的数据在同一个DataGridView中展示

    执行ADO.NET事务包含四个步骤,接下来以Transaction对象为例介绍. (1)调用SQLConnection对象的BeginTransaction()方法,创建一个SQLTransactio ...

  3. 创建PO

    FORM FRM_CREATE_PO USING P_POSNR CHANGING P_EBELN. DATA: LV_VENDOR TYPE LIFNR, LV_ITEM TYPE EBELP, L ...

  4. TortoiseGit GitHub 使用指南

    TortoiseGit GitHub 使用指南  这个文档讲的还是比较清楚和完整的.需要注意的一点是ssh的方式,取gitHub的URL的时候选取ssh方式. http://www.360doc.co ...

  5. Wilcoxon test

    clear load NPSVOR name={'SCV1V1','SVC1VA','SVR','CSSVC','SVMOP','NNOP','ELMOP','POM',... 'NNPOM', 'S ...

  6. java.io.FileOutputStream类的5个构造方法

    java.io.FileOutputStream的构造函数: ①FileOutputStream(File file) ②FileOutputStream(String name) ③FileOutp ...

  7. 第二章 XHTML基础

    1.一个网页,也就是一个XHTML文档,是由元素组成.元素定义了文本和图形在XHTML文档中的结构.XHTML文档的扩展名通常是.html或者htm. 2.XHTML元素使用XHTML标记定义,每个标 ...

  8. Apache Thrift - 可伸缩的跨语言服务开发框架

    To put it simply, Apache Thrift is a binary communication protocol 原文地址:http://www.ibm.com/developer ...

  9. [Js]高级运动

    一.链式运动框架 1.他需要一个回调函数,在运动停止时,开始下一次运动(执行函数) 多物体运动框架改为如下: function startMove(obj,attr,iTarget,fn){ ... ...

  10. C++-不要在构造和析构函数中调用虚函数

    在实习的单位搞CxImage库时不知为什么在Debug时没有问题,但是Release版里竟然跳出个Pure virtual function call error! 啥东西呀,竟然遇上了,就探个究竟吧 ...