题目链接: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. DALI 48V驱动

    DALI-CC-30W-48V技术手册 产品名称:DALI-CC-30W-48V 支持协议:IEC 62386-101:2018,IEC 62386-102:2018,IEC 62386-207:20 ...

  2. API网关--Kong的实践

    1. 什么是Kong 目前互联网后台架构一般是采用微服务,或者类似微服务的形式,应用的请求通常需要访问多个后台系统.如果让每一个后台系统都实现鉴权.限流.负载均衡.审计等基础功能是不合适的,通用的做法 ...

  3. 关于TD信息树自己的体验和建议

    自己选择的是17级学长13组的TD消息树,通过对这个软件的使用,感觉整体上还是很好的,他的主要功能就相当于把微信的朋友圈还有qq的好友动态等功能集合到了一起.这个软件整体就相当于一个空间,可以加好友互 ...

  4. Linux服务器架设篇,DNS服务器(三),正反解区域的配置

    一.大体架构 DNS服务器其实只有一个"真正"的配置文件,即 /etc/named.conf .其他的配置文件都是依据此配置展开的.每个域都需要两个配置文件,即正解文件和反解文件. ...

  5. 切片-list、字符串

    切片-list.字符串   1.字符串,切片顾头不顾尾 s="123455" print(s[0:3])  结果:123 2.list d=[12,34,45] print(d[: ...

  6. django 前后台传递数据

    前几天,我们完成了用django orm对数据进行操作.接下来,我们要把数据从后台放到前台. 1.用get方式传值 get:就是在URL拼接字符串,在后台,用request.get方式取 2.用pos ...

  7. tf.train.GradientDescentOptimizer 优化器

    tf.train.GradientDescentOptimizer(learning_rate, use_locking=False,name='GradientDescent') 参数: learn ...

  8. Docker系列-文章汇总

    本篇汇总docker系列的文章目录: 01. 准备Docker环境 02. CentOS安装Docker 03. Bridge Network 01 容器间通信 持续更新中…… 本人微信公众号同步更新 ...

  9. unity3d之简单动画

    Unity3d中有两个关于动画的概念,Animation和Animator,看一下他们的创建和区别 1.创建一个物体后可以添加Animator和Animation组件如图所示 2.Animation和 ...

  10. python干货:5种反扒机制的解决方法

    前言 反爬虫是网站为了维护自己的核心安全而采取的抑制爬虫的手段,反爬虫的手段有很多种,一般情况下除了百度等网站,反扒机制会常常更新以外.为了保持网站运行的高效,网站采取的反扒机制并不是太多,今天分享几 ...