1065. [Nescafe19] 绿豆蛙的归宿(概率)
1065. [Nescafe19] 绿豆蛙的归宿
★ 输入文件:ldfrog.in
输出文件:ldfrog.out
简单对比
时间限制:1 s 内存限制:128 MB
【背景】
随着新版百度空间的下线,Blog宠物绿豆蛙完成了它的使命,去寻找它新的归宿。
【题目描述】
给出一个有向无环的连通图,起点为1终点为N,每条边都有一个长度。绿豆蛙从起点出发,走向终点。
到达每一个顶点时,如果有K条离开该点的道路,绿豆蛙可以选择任意一条道路离开该点,并且走向每条路的概率为 1/K 。
现在绿豆蛙想知道,从起点走到终点的所经过的路径总长度期望是多少?
【输入格式】
第一行: 两个整数 N M,代表图中有N个点、M条边
第二行到第 1+M 行: 每行3个整数 a b c,代表从a到b有一条长度为c的有向边
【输出格式】
从起点到终点路径总长度的期望值,四舍五入保留两位小数。
【输入样例】
4 4
1 2 1
1 3 2
2 3 3
3 4 4
【输出样例】
7.00
【时限】
各个测试点1s
【数据范围】
对于20%的数据 N<=100
对于40%的数据 N<=1000
对于60%的数据 N<=10000
对于100%的数据 N<=100000,M<=2*N
/*
期望=概率*贡献.
然后把贡献停留在点上最后累加.
*/
#include<cstdio>
using namespace std;
const int N=1e5+;
struct edge{int v,w,next;}e[N<<];int tot,head[N];
int m,n,out[N];
double s[N],ans[N],res;
void add(int x,int y,int z){
e[++tot].v=y;
e[tot].w=z;
e[tot].next=head[x];
head[x]=tot;
}
void dp(int x){
for(int i=head[x];i;i=e[i].next){
int v=e[i].v;
s[v]=s[x]/out[x];
dp(v);
ans[x]+=s[v]*e[i].w;
}
}
int main(){
freopen("ldfrog.in","r",stdin);
freopen("ldfrog.out","w",stdout);
scanf("%d%d",&n,&m);
for(int i=,x,y,z;i<=m;i++){
scanf("%d%d%d",&x,&y,&z);
add(x,y,z);out[x]++;
}
s[]=;
dp();
for(int i=;i<=n;i++) res+=ans[i];
printf("%.2lf",res);
return ;
}
1065. [Nescafe19] 绿豆蛙的归宿(概率)的更多相关文章
- 【BZOJ3036】绿豆蛙的归宿 概率与期望
最水的概率期望,推荐算法合集之<浅析竞赛中一类数学期望问题的解决方法> #include <iostream> #include <cstdio> using na ...
- 【BZOJ3036】绿豆蛙的归宿 概率DP
链接: #include <stdio.h> int main() { puts("转载请注明出处[辗转山河弋流歌 by 空灰冰魂]谢谢"); puts("网 ...
- [COGS 1065] 绿豆蛙的归宿
先贴题面w 1065. [Nescafe19] 绿豆蛙的归宿 ★ 输入文件:ldfrog.in 输出文件:ldfrog.out 简单对比时间限制:1 s 内存限制:128 MB 随着新 ...
- [cogs1065]绿豆蛙的归宿
1065. [Nescafe19] 绿豆蛙的归宿 [题目描述] 给出一个有向无环的连通图,起点为1终点为N,每条边都有一个长度.绿豆蛙从起点出发,走向终点.到达每一个顶点时,如果有K条离开该点的道路, ...
- 【BZOJ3036】绿豆蛙的归宿 拓补排序+概率
[BZOJ3036]绿豆蛙的归宿 Description 随着新版百度空间的下线,Blog宠物绿豆蛙完成了它的使命,去寻找它新的归宿. 给出一个有向无环的连通图,起点为1终点为N,每条边都有一个长度. ...
- 【BZOJ 3036】 3036: 绿豆蛙的归宿 (概率DP)
3036: 绿豆蛙的归宿 Time Limit: 2 Sec Memory Limit: 128 MBSubmit: 491 Solved: 354 Description 随着新版百度空间的下线 ...
- BZOJ3036: 绿豆蛙的归宿&Wikioi2488:绿豆蛙的归宿
3036: 绿豆蛙的归宿 Time Limit: 2 Sec Memory Limit: 128 MBSubmit: 108 Solved: 73[Submit][Status] Descript ...
- BZOJ 3036: 绿豆蛙的归宿( 期望dp )
从终点往起点倒推 . 在一个图 考虑点 u , 出度为 s : s = 0 , d[ u ] = 0 ; s ≠ 0 , 则 d( u ) = ( ∑ d( v ) ) / s ( ( u , v ) ...
- P4316 绿豆蛙的归宿(期望)
P4316 绿豆蛙的归宿 因为非要用bfs所以稍微麻烦一点qwq(大家用的都是dfs) 其实问题让我们求的就是经过每条边的概率*边权之和 我们可以用bfs把图遍历一遍处理概率,顺便把每条边的概率*边权 ...
随机推荐
- http://www.cnblogs.com/dolphin0520/p/3949310.html
http://www.cnblogs.com/dolphin0520/p/3949310.html
- Linux如何查找大文件
https://www.cnblogs.com/kerrycode/p/4391859.html find . -type f -size +800M 如上命令所示,我们仅仅能看到超过800M大小的文 ...
- 【Zookeeper】Zookeeper部署笔记
Zookeeper部署笔记 .上传zk安装包 .解压 .配置(先在一台节点上配置) .1添加一个zoo.cfg配置文件 $ZOOKEEPER/conf mv zoo_sample.cfg zoo.cf ...
- PHP Warning: 的解决方法
在后台管理,用header("location:");做返回时,总是不能正常返回, Warning: Cannot modify header information - head ...
- EffectiveJava(7)避免使用终结方法
避免使用终结方法 1.使用终结方法会导致行为不稳定,性能降低,以及可移植性的问题.(终结线程的优先级过低) 终结方法不能保证被及时的执行(从一个对象变得不可到达开始,到中介方法被执行,所花费的时间是任 ...
- jdk/java版本与Android源码编译中的错误
错误一:javap未指向有效的java版本 Traceback (most recent call last): File "../../base/android/jni_generator ...
- Android学习(二十一)OptionsMenu选项菜单
一.OptionsMenu选项菜单 在应用程序中点击功能按钮会弹出选项菜单,点击可以实现具体功能. 二.实现思路: 1.创建选项菜单: onCreateOptionsMenu(); 2.设置菜单项可用 ...
- ionic准备之angular基础——格式化数据以及过滤器(8)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- htmlspecialchars_decode
htmlspecialchars_decode htmlspecialchars_decode - 将特殊的 HTML 实体转换回普通字符 htmlspecialchars - 将特殊字符转换为 ...
- 【Cocosd2d-x CCMenu菜单之二】
菜单项CCMenuItem是一个基类. 子类CCMenuItemFont.CCMenuItemLabel.CCMenuItemSprite.CCMenuItemToggle可增加CCMenu中形成菜单 ...