简单最短路计数。

#include<bits/stdc++.h>
#define ll long long
using namespace std;
#define D double
const int N=305,M=100005; int to[M],ne[M],hd[N],Man[N][N];
int n,m,d[N][N];
ll f[N][N];
D ans[M]; inline void BFS(int x){
queue<int> q; int y;
d[x][x]=f[x][x]=1;
q.push(x); while(!q.empty()){
y=q.front(),q.pop();
for(int i=hd[y];i;i=ne[i]) if(!d[x][to[i]]){
d[x][to[i]]=d[x][y]+1;
f[x][to[i]]=f[x][y];
q.push(to[i]);
}
else if(d[x][to[i]]>d[x][y]) f[x][to[i]]+=f[x][y];
} for(int i=1;i<=n;i++) d[x][i]--;
} inline void solve(){
for(int i=1;i<=n;i++) BFS(i); for(int i=1;i<=n;i++)
for(int j=hd[i];j;j=ne[j]){
int u=i,v=to[j];
for(int a=1;a<=n;a++)
for(int b=1;b<=n;b++)
if(Man[a][b]&&f[a][b]&&d[a][u]+d[v][b]+1==d[a][b])
ans[j>>1]+=f[a][u]*f[v][b]*(ll)Man[a][b]/(D)f[a][b];
}
} int main(){
scanf("%d%d",&n,&m); int uu,vv;
for(int i=1;i<=m;i++){
scanf("%d%d",&uu,&vv);
to[2*i]=vv,ne[2*i]=hd[uu],hd[uu]=2*i;
to[2*i+1]=uu,ne[2*i+1]=hd[vv],hd[vv]=2*i+1;
} for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++) scanf("%d",&Man[i][j]); solve(); for(int i=1;i<=m;i++) printf("%.1lf\n",ans[i]);
return 0;
}

  

[SHOI2009] 交通网络的更多相关文章

  1. [LuoguP2164][SHOI2007]交通网络_拓扑排序_概率期望

    交通网络 题目链接:https://www.luogu.org/problemnew/solution/P2164 数据范围:略. 题解: 直接算不好算,我们考虑建反图然后$Toposort$. 这样 ...

  2. Luogu2164 SHOI2007 交通网络 期望、BFS、拓扑排序

    传送门 题目还算不难吧 首先我们枚举点$i$,将其他所有点到这个点的最短路求出来 然后我们在这一次建出的最短路$DAG$的反图上进行拓扑排序.假设我们算到了点$j$,点$j$的人流量为$t_j$,点$ ...

  3. bzoj AC倒序

    Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...

  4. Java网络编程和NIO详解开篇:Java网络编程基础

    Java网络编程和NIO详解开篇:Java网络编程基础 计算机网络编程基础 转自:https://mp.weixin.qq.com/s/XXMz5uAFSsPdg38bth2jAA 我们是幸运的,因为 ...

  5. 《CWNA官方学习指南(第3版):认证无线网络管理员PW0-105》

    <CWNA官方学习指南(第3版):认证无线网络管理员PW0-105> 基本信息 原书名:CWNA: Certified Wireless Network Administrator Off ...

  6. GIS+=地理信息+行业+大数据——基于云环境流处理平台下的实时交通创新型app

    应用程序已经是近代的一个最重要的IT创新.应用程序是连接用户和数据之间的桥梁,提供即时訪问信息是最方便且呈现的方式也是easy理解的和令人惬意的. 然而,app开发人员.尤其是后端平台能力,一直在努力 ...

  7. TransModeler 交通仿真软件

    1.系统概述 TransModeler是美国Caliper公司开发的一个功能强大而操作灵活的交通仿真软件包,广泛适用于各类交通规划和交通仿真建模任务.TransModeler独特之处在于它提供了宏观/ ...

  8. ArcGIS网络概述

    转载自原文 ArcGIS网络概述 一.地理网络 (一)基本概念 由一系列相互连通的点和线组成,用来描述地理要素(资源)的流动情况. (二)网络类型 1.定向网络 (1)流向由源(source)至汇(s ...

  9. 共享出行疯狂并购背后,打造全交通链条才能让Uber们更快乐

    一直以来,携程.滴滴.摩拜等与出行相关的企业总是会因各种负面问题而饱受诟病.但不能否认的是它们极大地提升了出行便利性,让人们的出行更有效率,也更加方便.而与此同时,Uber.Lyft.滴滴等共享打车企 ...

随机推荐

  1. 【NOIP 模拟赛】改造二叉树 最长上升子序列

    biubiu~~~ 这道题我一眼就以为是线段树优化dp并且有了清晰的思路但是发现,我不会线段树区间平移,我以为只是我不会,然而根本就不行........ 正解是把序列排出来然后我们让他们减去他们的下标 ...

  2. Java的Properties使用及格式定义

    java.util.Properties extends Hashtable<Object,Object> 方便读取 键值对 格式的文本资源工具 常用方法一览 初始化对象 new Prop ...

  3. 原生ajax方法封装

    /** * @function ajax request * @fields ajaxName:请求名称,method:请求方法,headers:setRequestHeader自定义部分,url:接 ...

  4. poj3683 2-sat Priest John's Busiest Day

    Description John is the only priest in his town. September 1st is the John's busiest day in a year b ...

  5. SynchronizationContext.Post方法 代替

    http://www.codeproject.com/KB/threads/SynchronizationContext.aspx看吧,不好,就将就的看下我的吧,呵呵!(没有直接翻译,不过大概的思路相 ...

  6. Spring MVC 参数校验

    转自:http://blog.csdn.net/eson_15/article/details/51725470 这一篇博文主要总结一下springmvc中对数据的校验.在实际中,通常使用较多是前端的 ...

  7. 知问前端——日历UI(一)

    日历(datepicker)UI,可以让用户更加直观的.更加方便的输入日期,并且还考虑不同国家的语言限制,包括汉语. 调用datepicker()方法 $('#date').datepicker(); ...

  8. 为什么VS没有提供平win64程序编写项

    最近在学习C++和MFC编程,突然有个疑问,为什么每次新建项目时,都只有win32 console application,从来没见过win64的选项,于是去网上查了查,下面是我找到的几个答案: 作者 ...

  9. bugscan泄露代码解密

    #{文件名:decode key} dekey_dict= {'expback_64pyc_dis.py': 'ef632082c7620cf54876da74a1660bfb9c06eb94549b ...

  10. wxpython SizerItem的大小控制

    wxpython SizerItem的大小控制 proportion控制控件相对大小,proportion如果为0,表示默认大小.比如一个box里面有两个相同控件A,B,如果A,B的proportio ...