题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1287

题意:给定一个n个点的无向图(0到n-1),你开始在0。你开始遍历这个图,每个点只能被遍历一次。当你在某个点u时,假设u可以到达v1,v2且到达v1或者v2后均可以将其他未遍历的点遍历完,则你在u有三种选择:1、在u再呆5分钟;2、去v1,;3、去v2。概率均为1/3。求遍历完整个图的时间期望。

思路:f[u]=(5+f[u])/(x+1)+(g[u][vi]+f[vi])/(x+1),1<=i<=x,x为合法的下一个点。。

 #include <iostream>
#include <cstdio>
#include <cstring>
using namespace std; const int INF=1000000000;
int C,num=0;
int n,m,g[15][15];
double f[15][1<<15];
bool visit[15][1<<15]; int DFS(int st,int u)
{
if(st==(1<<n)-1)
{
f[u][st]=0;
return 1;
}
if(visit[u][st]) return f[u][st]>1e-10;
visit[u][st]=1;
f[u][st]=5;
int i,st0,cnt=0;
for(i=0;i<n;i++) if(!(st&(1<<i))&&g[u][i]!=INF&&DFS(st|(1<<i),i))
{
st0=st|(1<<i);
f[u][st]+=g[u][i]+f[i][st0];
cnt++;
}
if(!cnt)
{
f[u][st]=0;
return 0;
}
f[u][st]/=cnt;
return 1;
} int main()
{
for(scanf("%d",&C);C--;)
{
scanf("%d%d",&n,&m);
int i,j,u,v,w;
for(i=0;i<n;i++) for(j=0;j<n;j++) g[i][j]=INF;
for(i=1;i<=m;i++)
{
scanf("%d%d%d",&u,&v,&w);
g[u][v]=g[v][u]=w;
}
memset(visit,0,sizeof(visit));
DFS(1,0);
printf("Case %d: %.6lf\n",++num,f[0][1]);
}
return 0;
}

  

LightOJ 1287 Where to Run(期望)的更多相关文章

  1. LightOJ - 1287 Where to Run —— 期望、状压DP

    题目链接:https://vjudge.net/problem/LightOJ-1287 1287 - Where to Run    PDF (English) Statistics Forum T ...

  2. LightOJ - 1287 Where to Run (期望dp+记忆化)

    题面: Last night you robbed a bank but couldn't escape and when you just got outside today, the police ...

  3. [LightOJ 1287] Where to Run

    Where to Run Last night you robbed a bank but couldn't escape and when you just got outside today, t ...

  4. Where to Run LightOJ - 1287(概率dp)

    Where to Run LightOJ - 1287(概率dp) 题面长长的,看了半天也没看懂题意 不清楚的地方,如何判断一个点是否是EJ 按照我的理解 在一个EJ点处,要么原地停留五分钟接着走,要 ...

  5. LightOJ 1030 Discovering Gold(期望)

    Description You are in a cave, a long cave! The cave can be represented by a 1 x N grid. Each cell o ...

  6. LightOJ - 1274 Beating the Dataset —— 期望

    题目链接:https://vjudge.net/problem/LightOJ-1274 1274 - Beating the Dataset    PDF (English) Statistics ...

  7. LightOj:1030-Discovering Gold(期望dp模板)

    传送门:http://www.lightoj.com/volume_showproblem.php?problem=1030 Discovering Gold Time Limit: 2 second ...

  8. LightOJ 1030 Discovering Gold (概率/期望DP)

    题目链接:LightOJ - 1030 Description You are in a cave, a long cave! The cave can be represented by a \(1 ...

  9. LightOJ 1030 Discovering Gold (期望)

    https://vjudge.net/problem/LightOJ-1030 题意: 在一个1×N的格子里,每个格子都有相应的金币数,走到相应格子的话,就会得到该格子的金币. 现在从1格子开始,每次 ...

随机推荐

  1. k8s集群搭建笔记(细节有解释哦)

    本文中所有带引号的命令,请手动输入引号,不知道为什么博客里输入引号,总是自动转换成了中文 基本组成 pod:k8s 最小单位,类似docker的容器(也许) 资源清单:资源.资源清单语法.pod生命周 ...

  2. 通过简单的ajax验证是否存在已有的用户名

    首先来说说我对ajax的理解:简单地来说就是在不重新刷新页面的情况下,实现数据的调用获得更新. 我在这里介绍的是要过jquery封装好的ajax,大家可以去了解一下使用原生的XMLHttpReques ...

  3. golang+docker 进入镜像测试本地通信

    首先进入docker镜像: docker-compose exec 镜像 sh //进入镜像 然后添加curl命令 apk add curl 最后在使用 curl  -d  localhost:809 ...

  4. docker-compose 部分错误

    Get https://hub.17kxkx.com/v2/: dial tcp 39.106.209.67:443: connect: connection refused vim /etc/doc ...

  5. Java第二十八天,Lambda表达式

    一.函数式编程 1.什么是函数式编程 函数式编程是种编程方式,是一种编程的思维,它属于"结构化编程"的一种,主要思想是把运算过程尽量写成一系列嵌套的函数调用.它的地位等同于面向对象 ...

  6. Python-selenium 元素定位

    1.id定位find_element_by_id() 通过id属性定位元素,如果id是动态变化的话不能用id来进行定位 2.name定位find_element_by_name() 通过name属性定 ...

  7. 王者荣耀英雄全皮肤4K高清大图,python爬虫帮你保存下来

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取t.cn ...

  8. JMeter分布式压测实战(2020年清明假期学习笔记)

    一.常用压力测试工具对比 简介:目前用的常用测试工具对比 1.loadrunner 性能稳定,压测结果及颗粒度大,可以自定义脚本进行压测,但是太过于重大,功能比较繁多. 2.Apache ab(单接口 ...

  9. api_DZFPKJ & api_DZFPCX(get_AES_url代码优化)

    通过AES加密网站的接口来传值,不需要手动加密字符串后复制过来传值. #coding:utf-8 import requests import re def get_aes_url(key, text ...

  10. 详解 LinkedHashMap

    同学们可能在看到这个类的时候就明白了很多关于这个类的特点,那么,本人就在这里来啰嗦一下,再来介绍下这个类: (有关Map集合的基本性质,请观看本人博文-- <详解 Map集合>) Link ...