图片加载可能有点慢,请跳过题面先看题解,谢谢

还是先缩点吧,把那些已经可以互相到达的点缩起来。(直接暴力 \(dfs\) 缩就行)
我们设 \(f(x,S)\) 为,当前在 \(x\) 点,已经已经处理完的点的状态为 \(S\) (一个二进制数)的期望值(这里的点是缩点之后的点)
那么假设这时我们已经处理完的点数为 \(ret\) ,则我们走到没处理完的点上的概率为 \(\frac{n-ret}{n-1}\),所以我们需要走平均 \(\frac{n-1}{n-ret}\) 次才能走到那些未处理的点上
所以有转移:\(f(x,S)=\sum_{!(S\wedge (1<<i))}{\frac{f(i,S\vee (1<<i) )*size[i]}{n-ret}}\)

//made by Hero_OF_Someone
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<map>
#define db double
#define il inline
#define RG register
using namespace std;
il int gi(){ RG int x=0,q=1; RG char ch=getchar(); while( ( ch<'0' || ch>'9' ) && ch!='-' ) ch=getchar();if( ch=='-' ) q=-1,ch=getchar(); while(ch>='0' && ch<='9') x=x*10+ch-48,ch=getchar(); return q*x; }int T,t,n,m;
bool vis[54];
int size[54],cnt;
map<int,double> f[54];
int num,head[54],nxt[1008],to[1008];
il void add(int u,int v){nxt[++num]=head[u];to[num]=v;head[u]=num;nxt[++num]=head[v];to[num]=u;head[v]=num;
}il void init(){num=0; memset(head,0,sizeof(head));cnt=0; memset(vis,0,sizeof(vis));n=gi(),m=gi();for(int i=1;i<=m;i++){int u=gi(),v=gi();add(u,v);}
}il int dfs(int x){vis[x]=1; int ret=1;for(int i=head[x];i;i=nxt[i]){int v=to[i]; if(vis[v]) continue;ret+=dfs(v);}return ret;
}il db DP(int x,int S){if(f[x].count(S)) return f[x][S];int ret=0;for(int i=0;i<cnt;i++) if(S&(1<<i)) ret+=size[i];if(ret==n) return f[x][S]=0;f[x][S]=(n-1)*1.0/(n-ret);for(int i=0;i<cnt;i++){if(S&(1<<i)) continue;f[x][S]+=DP(i,S|(1<<i))*size[i]/(n-ret);  }return f[x][S];
}il void work(){for(int i=1;i<=n;i++){if(vis[i]) continue;f[cnt].clear(),size[cnt++]=dfs(i);}printf("Case %d: %.6lf\n",t,DP(0,1));
}int main(){ T=gi(); for(t=1;t<=T;t++){ init(); work(); } return 0; }

转载于:https://www.cnblogs.com/Hero-of-someone/p/7676955.html

[UVA 11600] Masud Rana相关推荐

  1. uva 11600 - Masud Rana(记忆化搜索)

    题目链接:uva 11600 - Masud Rana 题目大意:给出n和m,表示说有n座城市,每两座城市间有一条路,每条路上都有怪物,现在有m条路上没有怪物,给出没有怪物的路.现在任选一座城市移过去 ...

  2. UVA - 11600 Masud Rana

    题面在这里! 一开始看n<=30完全没有头绪啊...感觉不能二进制状压的样子qwq. 后来想了想,状态是可以压缩成 目前图中联通块大小集合 和 我们在哪个联通块的,于是开开心心整数拆分,发现n= ...

  3. UVA 11600 Masud Rana(期望+状压DP)

    题意:n个城市,城市间两两有一条道路,m条道路是没有怪物的,每天随机选一个城市(除了本身),走过去,消灭途中的怪物,如果消灭完后,所有城市都可以不通过有怪物的道路到达就结束,问平均需要的天数. 分析: ...

  4. UVA 11600 Masud Rana

    vjudge 怕不是个假题 题意是每次随机一个点,并且连边,然后走过去,求使得整张图联通的期望 显然可以把已经存在的联通块缩起来,然后考虑状压,设\(f_s\)表示现在联通的联通块集合为\(s\)到达 ...

  5. UVA 10600 Masud Rana

    点击打开链接 Problem A ACM CONTEST AND BLACKOUT In order to prepare the "The First National ACM Schoo ...

  6. Uva 11600 期望DP

    题意:n个城市,相互可达(有n(n-1)/2条边),其中有一些道路上面有妖怪,现在,从1号城市出发,随机挑取一个城市走去,这个道路上的妖怪就会被消灭,求: 在平均情况下,需要走多少步,使得任意两个城市 ...

  7. UVA11600 Masud Rana

    题目描述 PDF 输入格式 输出格式 输入输出样例 输入 #1复制 2 3 1 2 3 4 1 2 3 输出 #1复制 Case 1: 1.0 Case 2: 3.5 一看网上的题解,为什么都是\ma ...

  8. UVa在线比赛单题汇总-----DP专题

    动态规划基础 例题 LA 3882 UVa 3882 - And Then There Was One 递推------------无力orz UVa 10635 10635 - Prince and ...

  9. 《算法竞赛入门经典——训练指南》第一章相关内容

    #<算法竞赛入门经典--训练指南>第一章相关内容 希望各位大牛能指导! 红色为已经做了的...黄色背景是还有不懂地方,希望在年前能刷完第一章啊.... 更新版.google上貌似又加了ex ...

最新文章

  1. 一个新手对linux的认识
  2. Python基础知识学习_Day5
  3. paddle_ocr2.0入门踩坑
  4. HTTP 错误 500.21 - Internal Server Error PageHandlerFactory-Integrated
  5. 贪心算法之——阶乘之和(nyoj91)
  6. The “data“ option should be a function that returns a per-instance value in component definitions
  7. 手机python3ide加法器_Python3开发常用工具
  8. Python 学习记录(1)对象命名导致的问题
  9. 【语音识别】之梅尔频率倒谱系数(mfcc)及Python实现
  10. ASP.NET MVC Framework体验(1):从一个简单实例开始(转)
  11. 用 Python 实现植物大战僵尸代码
  12. 安装mysql-community-server报错缺少libaio依赖
  13. 关于桌面运维工程师的错题本(前言)
  14. linux裁剪视频教程,适用于Linux桌面的超简单实用的视频裁剪应用
  15. 用python实现围棋(动图演示+源码分享)
  16. Java使用MongoTemplate操作MangoDB,实现根据时间等条件组合查询,解决ISODate的问题
  17. 微信小程序开发-微信支付功能【WxMaService 获取openid,WxPayService建微信订单,接收微信支付异步通知回调方法,附有完整前后端代码】
  18. 三,c程序的编辑,编译,链接和运行
  19. 中缀表达式转后缀表达式两位数_什么是圆形磁动势?永磁无刷电机是怎么转起来的?...
  20. centos安装easy_install

热门文章

  1. 我的世界服务器老是文件损坏,我的世界角色卡死存档损坏修复教程
  2. nginx请求返回html文件,nginx返回json或者文本格式的方法
  3. CAD转换PDF格式,方便又好用
  4. 懒汉克辽尼和铜城的故事
  5. R语言中如何利用ggplot2绘制qq图和boxplot图
  6. 小白学Python之爬虫篇(二)——隐式资源链接查找与爬取
  7. php 图片印章_PHP实现印章输出
  8. ubuntu笔记本开机后屏幕亮度调整的头疼问题,另一种解决方案……完成率70%
  9. 华宝小t股票机器人_华宝小T股票机器人
  10. 自己开发的iOS App允许用户通过itunes共享文件