路径长度

金牌导航 期望-1

题目大意

给出一个图,问你从1走到n的期望路径长度

输入样例

4 4
1 2 1
1 3 2
2 3 3
3 4 4

输出样例

7.00

数据范围

1⩽n⩽1051\leqslant n \leqslant 10^51⩽n⩽105
1⩽m⩽2×n1\leqslant m\leqslant 2\times n1⩽m⩽2×n
1⩽u,v⩽n1\leqslant u,v\leqslant n1⩽u,v⩽n
1⩽w⩽1091\leqslant w\leqslant 10^91⩽w⩽109
数据保证给出的图无重边和自环

解题思路

设f_x为经过x的期望次数
那么有
f1=1f_1=1f1​=1
feto=fxdegxf_{eto}=\frac{f_x}{deg_x}feto​=degx​fx​​
然后用点的期望经过次数得出边的期望经过次数
然后乘上长度即可

代码

#include<queue>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define ll long long
#define N 100010
using namespace std;
int n, m, x, y, z, tot, head[N], indeg[N], outdeg[N];
double ans, f[N];
struct rec
{int l, to, next;
}a[2*N];
void add(int x, int y, int z)
{a[++tot].to = y;a[tot].next = head[x];a[tot].l = z;head[x] = tot;outdeg[x]++;indeg[y]++;
}
void solve()
{queue<int>d;d.push(1);f[1] = 1.0;while(!d.empty()){int h = d.front();d.pop();for (int i = head[h]; i; i = a[i].next){f[a[i].to] += f[h] / outdeg[h];//期望经过次数indeg[a[i].to]--;ans += f[h] /outdeg[h] * a[i].l;//计算贡献if (!indeg[a[i].to]) d.push(a[i].to);}}return;
}
int main()
{scanf("%d%d", &n, &m);for (int i = 1; i <= m; ++i){scanf("%d%d%d", &x, &y, &z);add(x, y, z);}solve();printf("%.2lf", ans);return 0;
}

【期望】路径长度(金牌导航 期望-1)相关推荐

  1. 【期望】期望分数(金牌导航 期望-4)

    期望分数 金牌导航 期望-4 题目大意 告诉你一个01串中每个位置是1的概率,对于连续的x个1,贡献为x3x^3x3,问你期望贡献是多少 输入样例 3 0.5 0.5 0.5 输入样例 6.0 数据范 ...

  2. 【期望】期望收益(金牌导航 期望-3)

    期望收益 金牌导航 期望-3 题目大意 给你一个01串,有些位置是未知的,连续的x个1贡献为想x2x^2x2,现在问你该串的期望贡献 输入样例 4 ???? 输出样例 4.1250 数据范围 1⩽n⩽ ...

  3. 【期望】守卫挑战(金牌导航 期望-9)

    守卫挑战 金牌导航 期望-9 题目大意 有n个数,到第i个数,有p_i的概率选择这个数,问你最后选了最少L个数,且选的数的和再加k大于等于0 样例输入 3 1 0 10 20 30 -1 -1 2 样 ...

  4. 【期望】关灯游戏(金牌导航 期望-8)

    关灯游戏 金牌导航 期望-8 题目大意 有n盏灯,有些是亮的,有的是暗的,现在如果按一个位置的开关,那么是它因数的位置的灯都会改变开关情况,现在如果用k步不能直接关完,就随机按,直到可以k步关完,就用 ...

  5. 【期望】选书问题(金牌导航 期望-7)

    选书问题 金牌导航 期望-7 题目大意 有n个人,每个人有自己的选书目录,一个人有p的概率选当前的书,有1-p的概率不选,即去查看下一本书(过n后回到1),现在问你选书的逆序对的期望数 输入样例 5 ...

  6. 【期望】【高斯消元】图上游走(金牌导航 期望-6)

    图上游走 金牌导航 期望-6 题目大意 给出一个无向连通图,小明初始在点1,每一步等概率地走向相连的其他点,当走到n时结束,定义分数从1为走到n的过程中经过的边的编号之和,现在让你给这m条边重新编号, ...

  7. 【期望】彩色圆环(金牌导航 期望-5)

    彩色圆环 金牌导航 期望-5 题目大意 给你一个环,每个位置的数字等概率为1~m中的其中一个,对于连续的相同数字的串,记其长度为aia_iai​,求aia_iai​的积的期望值 输入样例 8 1 输出 ...

  8. 【期望】乘坐电梯(金牌导航 期望-2)

    乘坐电梯 金牌导航 期望-2 题目大意 有n个人,对于没一个单位时间有p的概率最前面的1个人进电梯,有(1-p)的概率不进,问你t个单位时间后,电梯中的期望人数 样例输入 1 1 0.50 1 样例输 ...

  9. 【点分治】Tree(luogu 4178/金牌导航 点分治-1)

    Tree luogu 4178 金牌导航 点分治-1 题目大意 给出一棵树,问你书中路径长度小于等于k的点对个数有多少个 输入样例 5 1 2 3 1 3 1 1 4 2 3 5 1 4 输出样例 8 ...

最新文章

  1. 编译器设计-符号表-中间代码生成
  2. linux中pipe
  3. 宝塔面板遇到No space left on device错误的解决方法
  4. max_connect_errors 疏忽
  5. 怎样才算得上合格的程序员,教你一招
  6. 【DB】部分MySQL操作记录
  7. 如何给服务器设置邮件警报。
  8. 音频放大电路_集成电路技术汇总:检测技巧
  9. C++ Regsvr32订购具体解释
  10. JAVA清稿word_java开发实现word在线编辑及流转
  11. spring使用Redis自定义前缀后缀名(去掉SimpleKey []+自定义)
  12. bitmap位图详解
  13. 高数 | 【多元函数微分学】多元函数求极限方法总结
  14. 秒杀系统设计的关键点思考
  15. CAD定数等分不显示等分点
  16. 微服务体系中的分层设计和领域划分!
  17. android手机内存使用情况分析
  18. 计算机桌面结构,桌面主机的内部结构桌面主机的组成是什么[详细介绍]
  19. JavaStream流处理数据的几种方式
  20. 部分网站无法打开和hosts文件修改

热门文章

  1. pdf编辑软件adobe acrobat_分享一款PDF编辑和阅读软件Acrobat
  2. vspythonqt混合_PYQT5 vscode联合操作qtdesigner的方法
  3. 动手实现深度学习pytroch版
  4. leetcode844. 比较含退格的字符串(栈+双指针)
  5. 解决Java当中 用point 画图时背景颜色变成黑色问题
  6. 堆的定义与操作(C语言)
  7. C++分析使用拷贝控制成员和调用构造函数的时机
  8. python获取文件夹下文件_Python 获取目录下的文件列表与内容
  9. 交叉验证中n_jobs=-1并行运算
  10. 【十二省联考2019】异或粽子【01Trie】【堆】【前k大套路】