BZOJ5197:[CERC2017]Gambling Guide(最短路,期望DP)
Description
Input
Output
Sample Input
1 2
1 3
1 4
2 3
2 4
3 5
5 4
2 5
Sample Output
Solution
最优策略的话,一个点只会走向到终点期望步数比他小的点,用最短路来更新$DP$就可以了。
反正我也说不太明白,感性理解一下吧。
Code
1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 #include<queue> 5 #define N (300009) 6 #define pi pair<double,int> 7 using namespace std; 8 9 struct Edge{int to,next;}edge[N<<1]; 10 int n,m,u,v,deg[N],c[N],vis[N]; 11 int head[N],num_edge; 12 double s[N],f[N]; 13 priority_queue<pi,vector<pi>,greater<pi> >q; 14 15 void add(int u,int v) 16 { 17 deg[v]++; 18 edge[++num_edge].to=v; 19 edge[num_edge].next=head[u]; 20 head[u]=num_edge; 21 } 22 23 int main() 24 { 25 scanf("%d%d",&n,&m); 26 for (int i=1; i<=m; ++i) 27 scanf("%d%d",&u,&v), add(u,v), add(v,u); 28 q.push(pi(0,n)); 29 while (!q.empty()) 30 { 31 int x=q.top().second; q.pop(); 32 if (vis[x]) continue; vis[x]=1; 33 for (int i=head[x]; i; i=edge[i].next) 34 { 35 int y=edge[i].to; 36 if (vis[y]) continue; 37 c[y]++; s[y]+=f[x]; f[y]=(s[y]+deg[y])/c[y]; 38 q.push(pi(f[y],y)); 39 } 40 } 41 printf("%.10lf\n",f[1]); 42 }
转载于:https://www.cnblogs.com/refun/p/10628626.html
BZOJ5197:[CERC2017]Gambling Guide(最短路,期望DP)相关推荐
- [BZOJ5197] [CERC2017]Gambling Guide
[BZOJ5197] [CERC2017]Gambling Guide 题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=5197 Solut ...
- bzoj5197:[CERC2017]Gambling Guide
传送门 好像概率期望也写过一些题了,但是没啥用,还是不会套路,看了题解才会写 首先设\(f[x]\)为\(x\)到\(n\)的期望最少步数,\(deg_x\)表示\(x\)的度数 不考虑不动,显然\( ...
- luogu P4745 [CERC2017]Gambling Guide(期望DP + 最短路实现)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 P4745 [CERC2017]Gambling Guide(期望DP + 最短路实现) Weblin ...
- 【BZOJ5197】Gambling Guide (最短路,期望)
[BZOJ5197]Gambling Guide (最短路,期望) 题面 BZOJ权限题 洛谷 题解 假设我们求出了每个点的期望,那么对于一个点,只有向期望更小的点移动的时候才会更新答案. 即转移是: ...
- 【bzoj5197】[CERC2017]Gambling Guide 期望dp+堆优化Dijkstra
题目描述 给定一张n个点,m条双向边的无向图. 你要从1号点走到n号点.当你位于x点时,你需要花1元钱,等概率随机地买到与x相邻的一个点的票,只有通过票才能走到其它点. 每当完成一次交易时,你可以选择 ...
- CERC2017 Gambling Guide,最短路变形,期望dp
题目链接 题面链接 题意 给定一个无向图,你需要从111点出发到达n" role="presentation" style="position: relativ ...
- Luogu4745/Gym101620G CERC2017 Gambling Guide 期望、DP、最短路
传送门--Luogu 传送门--Vjudge 设\(f_x\)为从\(x\)走到\(N\)的期望步数 如果没有可以不动的限制,就是隔壁HNOI2013 游走 如果有可以不动的限制,那么\(f_x = ...
- CERC2017 Gambling Guide
一个在邻国的铁路系统是由nn个城市(编号从11到nn),和mm条连接两个不同城市的双向铁路组成的.铁路票只能在安装在每个城市的自动售票机购买.不幸的是,黑客们已经篡改了这些售票机,现在它们有下面的规则 ...
- 插头DP 概率DP / 期望DP
插头DP && 概率DP / 期望DP 写在前面: 插头DP P5056 [模板]插头dp 手写哈希表的方法: 拉链法的代码如下: 开放寻址法的代码如下: 接下来是这道题的代码实现: ...
最新文章
- python内建作用域_为什么 Python 的类不构成作用域(scope)?
- 两个div叠加触发事件发生闪烁问题
- Informix IDS 11体系打点(918考试)认证指南,第 5 局部: 数据库管事器操作(4)
- FreeRTOS学习及移植笔记之二:在IAR和STM32F103VET上移植FreeRTOS
- cookie中JSESSIONID的由来
- java.lang.IllegalArgumentException: Request header is too large 解决方案
- Redis学习---(3)Redis 配置
- join left semi_Hive的left join、left outer join和left semi join三者的区别
- 栈和递归---手动实现一个栈和蒜头君吃桃
- 剑指offer——面试题41:和为S的连续整数序列
- 自动操作: mac新建文本文档
- java中char占几bits_char类型占几个字节
- Anaconda下载(Windows系统)
- EditText属性详情
- XP教育网用户免费上网
- Android 复杂的列表视图新写法 MultiType
- 注册Heroku账户
- Centos 7 内网安装 DzzOffice
- 在鹅厂如何带薪刷视频?
- 凝思操作系统:U盘无法识别和读取问题
热门文章
- 错误提示:“ReferenceError: require is not defined in ES module scope, you can use impor”解决方法
- 邬建国在2008内蒙古大学毕业典礼上的讲话
- 如何判断app在前台还是后台
- iphone微信小程序底部预留bar安全距离css
- 微信小程序 腾讯地图逆地址解析reverseGeocoder之poi_options
- 别用Docker了,这7大开源容器化工具也能满足你!
- 在线图书销售系统顺序图_myON电子图书馆最全介绍
- 北斗再入试题,北京中考物理实验【探究题】占比过半 方格教育
- 金茂服务通过聆讯:9个月营收超10亿 中化与平安人寿是股东
- 手动安装torch和torchviosn教程