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. 服务订单SO创建

    FUNCTION Z_SD_SALESORDER_CREATE. *"------------------------------------------------------------ ...

  2. 字符串匹配的sunday算法

    sunday算法核心思想:启发式移动搜索步长! SUNDAY 算法描述: 字符串查找算法中,最著名的两个是KMP算法(Knuth-Morris-Pratt)和BM算法(Boyer-Moore).这里介 ...

  3. Word文档增加快捷键

  4. dw添加emmet

    1.emmet下载Emmet.zxp 2.怎么在dw中设置(命令->emmet->Expand Abbreviation)中查看使用emmet的快捷键,如果跟别人快捷键重合了 3.编辑-& ...

  5. weblogic被锁解决方案

    weblogic被锁,无法启动. 解决方案:http://blog.csdn.net/zhengqiqiqinqin/article/details/17025741

  6. hduacm 2888 ----二维rmq

    http://acm.hdu.edu.cn/showproblem.php?pid=2888 模板题  直接用二维rmq 读入数据时比较坑爹  cin 会超时 #include <cstdio& ...

  7. js图片轮播图

    /*焦点图*/        var Box='.carousel';//盒子        var Menu=$(Box+' .l_cursor li');//圆点菜单        var Con ...

  8. WCF如何通过契约加编码方式调用

    WCF采用基于契约的服务调用方法,通过System.ServiceModel.ChannelFactory<TChannel>直接创建服务代理对象. 创建服务代理 public stati ...

  9. 前端必须掌握30个CSS3选择器

    也许你已经学会了CSS的三个简单常用的选择器:#ID,.class,标签选择器,可是这些就足够了吗?随着CSS3的到来,作为前端开发者需要掌握下面三十个基本的选择器,这样才可以在平时开发中得心用手. ...

  10. 面试题目-findmax的实现

    #include <vector> #include <iostream> #include "printCollection.h" using names ...