BZOJ3036 绿豆蛙的归宿
标签:图的遍历,数学期望
Description
随着新版百度空间的下线,Blog宠物绿豆蛙完成了它的使命,去寻找它新的归宿。
给出一个有向无环的连通图,起点为1终点为N,每条边都有一个长度。绿豆蛙从起点出发,走向终点。
到达每一个顶点时,如果有K条离开该点的道路,绿豆蛙可以选择任意一条道路离开该点,并且走向每条路的概率为 1/K 。
现在绿豆蛙想知道,从起点走到终点的所经过的路径总长度期望是多少?
Input
第一行: 两个整数 N M,代表图中有N个点、M条边
第二行到第 1+M 行: 每行3个整数 a b c,代表从a到b有一条长度为c的有向边
Output
从起点到终点路径总长度的期望值,四舍五入保留两位小数。
Sample Input
4 4
1 2 1
1 3 2
2 3 3
3 4 4
Sample Output
7.00
HINT
对于100%的数据 N<=100000,M<=2*N
珍惜NOIP前最后的刷水机会2333
Code
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
#define rep(i,a,b) for(int i=a;i<=b;i++)
#define dep(i,a,b) for(int i=a;i>=b;i--)
#define ll long long
#define mem(x,num) memset(x,num,sizeof x)
#ifdef WIN32
#define LL "%I64d"
#else
#define LL "%lld"
#endif
using namespace std;
inline ll read()
{ll f=1,x=0;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}return x*f;
}
const int maxn=1e5+6;
int n,m,last[maxn],vis[maxn],r[maxn]={0};
struct edge{int to,next,w;}e[maxn<<1];
double f[maxn];
void dfs(int x)
{if(!vis[x])vis[x]=1;else return;
#define reg(x) for(int i=last[x];i;i=e[i].next)
#define v e[i].toreg(x){dfs(v);f[x]+=e[i].w+f[v];}if(r[x])f[x]/=r[x];
}
int main()
{n=read(),m=read();rep(i,1,m){int x=read(),y=read(),z=read();e[i]=(edge){y,last[x],z};last[x]=i;r[x]++;}dfs(1);printf("%.2lf\n",f[1]);return 0;
}
BZOJ3036 绿豆蛙的归宿相关推荐
- bzoj3036 绿豆蛙的归宿
绿豆蛙的归宿 Time Limit: 2 Sec Memory Limit: 128 MB Description 随着新版百度空间的下线,Blog宠物绿豆蛙完成了它的使命,去寻找它新的归宿. 给出一 ...
- [bzoj3036]绿豆蛙的归宿
题目大意:给定 $DAG$ 带边权连通图,保证所有点都能到达终点 $n$,每个点等概率沿边走,求起点 $1$ 到终点 $n$ 的期望长度. 题解:拓扑,然后倒着$DP$就可以了 卡点:无 C++ Co ...
- 【BZOJ3036】绿豆蛙的归宿 拓补排序+概率
[BZOJ3036]绿豆蛙的归宿 Description 随着新版百度空间的下线,Blog宠物绿豆蛙完成了它的使命,去寻找它新的归宿. 给出一个有向无环的连通图,起点为1终点为N,每条边都有一个长度. ...
- 【BZOJ 3036】 3036: 绿豆蛙的归宿 (概率DP)
3036: 绿豆蛙的归宿 Time Limit: 2 Sec Memory Limit: 128 MB Submit: 491 Solved: 354 Description 随着新版百度空间的下 ...
- Acwing 217. 绿豆蛙的归宿
Acwing 217. 绿豆蛙的归宿 题意: 给出一个有向无环的连通图,起点为 1,终点为 N,每条边都有一个长度. 数据保证从起点出发能够到达图中所有的点,图中所有的点也都能够到达终点. 绿豆蛙从起 ...
- [cogs1065]绿豆蛙的归宿
1065. [Nescafe19] 绿豆蛙的归宿 [题目描述] 给出一个有向无环的连通图,起点为1终点为N,每条边都有一个长度.绿豆蛙从起点出发,走向终点. 到达每一个顶点时,如果有K条离开该点的道路 ...
- bzoj 3036: 绿豆蛙的归宿(Dp)
3036: 绿豆蛙的归宿 Time Limit: 2 Sec Memory Limit: 128 MB Submit: 724 Solved: 511 [Submit][Status][Discu ...
- 【题解】绿豆蛙的归宿
绿豆蛙的归宿 [题目描述] 给出一个有向无环的连通图,起点为 111 终点为 NNN ,每条边都有一个长度.绿豆蛙从起点出发,走向终点.数据保证从起点出发能够达到图中所有点,图中所有点都能够到底终点. ...
- 概率与期望——P4316 绿豆蛙的归宿
概率与期望--P4316 绿豆蛙的归宿 题目 算法分析 Code 反思与总结 题目 P4316 绿豆蛙的归宿 算法分析 要计算路径的总长度期望,可以将每一个结点看作一个阶段,用dpdpdp来实现.(看 ...
最新文章
- BZOJ 2152 「国家集训队」聪聪可可(点分治)【BZOJ计划】
- OpenCV for Ios 学习笔记(4)-标记检测1
- python3.7安装turtle步骤-Python3 turtle安装和使用教程
- 查看linux下各数据类型的大小
- 十万个为什么儿童版_《虹猫蓝兔十万个为什么》上架爱奇艺奇巴布绘本馆
- python 内存分析工具_[转] python运行时内存分析工具meliae
- 【QCustomPlot】1.1 - Qt .qch帮助文档导入使用
- 剑指offer——面试题3:二维数组中的查找
- hadoop之Combiner
- 计算机应用离散数学,结合计算机应用的离散数学教学研究.pdf
- python协同过滤算法_【知识发现】基于用户的协同过滤推荐算法python实现
- 数字信号处理——线性相位型(Ⅱ、Ⅳ型)FIR滤波器设计(2)
- java面试常见设计模式
- docker bind source path does not exist: /etc/timezone“
- 想进入游戏建模行业,必须要了解的基础知识
- Android7.0解决 android.os.FileUriExposedException: file:///storage/emulated/0/
- Win7 64位系统下思维导图XMind的Java环境配置
- 2021面试第二弹来袭
- netdisk error2
- springboot集成阿里MNS消息队列发布订阅消息功能
热门文章
- 报错Manifest merger failed
- 鸿蒙能和ios媲美吗,把鸿蒙打造成一个和iOS相媲美的操作系统需要多久?
- Python学习笔记:1.2.8 字典
- 学习分享——基于深度学习的NILM负荷分解(一)对DL的看法准备工作
- 我叫mt4服务器维护时间,我叫MT4维护更新公告 维护更新内容及时间
- BZOJ3811: 玛里苟斯
- boost heap - d_ary_heap 的自定义compare函数用法
- Linux 文件与目录的管理
- java基础面试题及答案
- java弱化胖瘦客户端_Java架构师成长直通车百度云