AcWing 217. 绿豆蛙的归宿(期望dp)
设F[x]为从x到终点经过的路径长度的期望值, 若从x出发到达y1, y2, y3,..., yk, 边长分别是z1, z2, z3, ..., zk, 根据数学期望的定义得出:
由于从终点的状态开始递推比较容易, 因为F[n] = 0,所以我们从终点开始递推,最终我们要求出F[1]的状态.对于有向无环图来说,要倒序递推,我们可以建立反图,然后一边拓扑排序,一边更新状态.
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int n, m;
int h[N * 2], e[N * 2], ne[N * 2], val[N * 2], idx = 1;
int deg[N], out[N];
double f[N];void add(int a, int b, int c){val[idx] = c, e[idx] = b, ne[idx] = h[a], h[a] = idx++;
}
void bfs(){queue<int> q;q.emplace(n);while (q.size()){int x = q.front();q.pop();for (int i = h[x]; i; i = ne[i]){int y = e[i], z = val[i];f[y] += (f[x] + z) / deg[y];if (--out[y] == 0)q.emplace(y);}}
}
signed main(){cin >> n >> m;for (int i = 1; i <= m; ++i){int x, y, z;cin >> x >> y >> z;add(y, x, z);++deg[x], ++out[x];}bfs();printf("%.2f\n", f[1]);
}
总结:
1.求一个边有出度,可以转化为入度来求
2.对于一个有向无环图来说,要反向遍历(即从终点开始遍历到起点)这个图,我们可以建立反图,然后从终点开始拓扑排序,一边排序一边解决问题.
AcWing 217. 绿豆蛙的归宿(期望dp)相关推荐
- Acwing 217. 绿豆蛙的归宿
Acwing 217. 绿豆蛙的归宿 题意: 给出一个有向无环的连通图,起点为 1,终点为 N,每条边都有一个长度. 数据保证从起点出发能够到达图中所有的点,图中所有的点也都能够到达终点. 绿豆蛙从起 ...
- BZOJ 3036 绿豆蛙的归宿 期望DP
Time Limit: 2 Sec Memory Limit: 128 MB Submit: 610 Solved: 431 Description 随着新版百度空间的下线,Blog宠物绿豆蛙完成了它 ...
- acwing 217.绿豆蛙的归宿
给出一个有向无环的连通图,起点为 1,终点为 N,每条边都有一个长度. 数据保证从起点出发能够到达图中所有的点,图中所有的点也都能够到达终点. 绿豆蛙从起点出发,走向终点. 到达每一个顶点时,如果有 ...
- AcWing 217 绿豆蛙的归宿(概率与期望)
思路:题目给出每个点如果有k条离开点的边,都会等概率的离开.那么每个点的期望就是离开(每个点的长度+下一个点的期望)乘1/k的和.显然我们一开始的思路应该是顺着往后推,但是后面的点的期望是没办法很好的 ...
- P4316 绿豆蛙的归宿 期望dp + DAG
传送门 文章目录 题意: 思路: 题意: 思路: 首先要发现这是一个DAGDAGDAG图,让后我们可以用拓扑在图上跑期望dpdpdp. 定义f[i]f[i]f[i]表示iii到nnn的期望路径长度,知 ...
- bzoj 3036: 绿豆蛙的归宿(Dp)
3036: 绿豆蛙的归宿 Time Limit: 2 Sec Memory Limit: 128 MB Submit: 724 Solved: 511 [Submit][Status][Discu ...
- 217 绿豆蛙的归宿(数学期望)
1.问题描述: 给出一个有向无环的连通图,起点为 1,终点为 N,每条边都有一个长度.数据保证从起点出发能够到达图中所有的点,图中所有的点也都能够到达终点.绿豆蛙从起点出发,走向终点.到达每一个顶点时 ...
- 洛谷P4316 绿豆蛙的归宿(期望)
题意翻译 「Poetize3」 题目背景 随着新版百度空间的上线,Blog宠物绿豆蛙完成了它的使命,去寻找它新的归宿. 题目描述 给出一个有向无环图,起点为1终点为N,每条边都有一个长度,并且从起点出 ...
- 【BZOJ3036】绿豆蛙的归宿 概率DP
链接: #include <stdio.h> int main() {puts("转载请注明出处[辗转山河弋流歌 by 空灰冰魂]谢谢");puts("网址: ...
最新文章
- SSH方式连接Git服务器需要注意的地方
- MySQL性能优化的最佳20+条经验(转)
- 使用 C# 开发智能手机软件:推箱子(二十三)
- Java的Runtime类介绍
- 深入浅出CSS(二):关于雪碧图、background-position与steps函数的三角恋情
- delete 和 delete [] 的真正区别
- 大牛书单 | 搜索大牛都读什么书?
- 九章算法强化班 - 课程大纲
- Python测试开发django3.视图和URL配置
- 4.3 深层网络中的前向传播
- mongodb示例_MongoDB findAndModify()示例
- 用U盘安装Windows系统操作步骤
- iOS手机模拟器配置
- python数据笔记分析_python数据分析入门学习笔记
- PlayStation Now比您想象的要好
- 笔记本F1音量键常亮,电脑没声音?这里有妙招。
- MySQL学生成绩表查询最大、最小、平均、80分以上、人数、
- LiveUpdate Adminstrator配置手册
- 免费刷题!初级软件测试面试题目和答案这个小程序很全
- 【并查集】【模拟】家谱
热门文章
- Manifest merger failed with multiple errors
- 宿迁高考成绩查询2021,2021宿迁市地区高考成绩排名查询,宿迁市高考各高中成绩喜报榜单...
- Direct3D 12 尝鲜(二): Fence
- 视频教程-系统集成项目管理工程师考试-项目管理部分大全-软考
- html无序列表透明圆点,html无序列表的类型type
- 叶子结点和分支节点_什么是叶子节点,度?根节点?
- stremlit学习前骤
- 比尔盖茨给青年人的十个忠告
- 计算机部分应用显示模糊,电脑显示器局部模糊怎么办
- 网技·实验·3.29