题目链接:

https://www.lydsy.com/JudgeOnline/problem.php?id=1491

题目大意:

见链接

思路:

直接用floyd算法求最短路,同时更新最短路的数目即可。

 #include<bits/stdc++.h>
#define IOS ios::sync_with_stdio(false);//不可再使用scanf printf
#define Max(a, b) ((a) > (b) ? (a) : (b))//禁用于函数,会超时
#define Min(a, b) ((a) < (b) ? (a) : (b))
#define Mem(a) memset(a, 0, sizeof(a))
#define Dis(x, y, x1, y1) ((x - x1) * (x - x1) + (y - y1) * (y - y1))
#define MID(l, r) ((l) + ((r) - (l)) / 2)
#define lson ((o)<<1)
#define rson ((o)<<1|1)
#define Accepted 0
#pragma comment(linker, "/STACK:102400000,102400000")//栈外挂
using namespace std;
inline int read()
{
int x=,f=;char ch=getchar();
while (ch<''||ch>''){if (ch=='-') f=-;ch=getchar();}
while (ch>=''&&ch<=''){x=x*+ch-'';ch=getchar();}
return x*f;
} typedef long long ll;
const int maxn = + ;
const int MOD = ;//const引用更快,宏定义也更快
const int INF = 1e9 + ;
const double eps = 1e-; int Map[maxn][maxn];
ll p[maxn][maxn];
double ans[maxn];
int main()
{
int n, m;
scanf("%d%d", &n, &m);
for(int i = ; i <= n; i++)for(int j = ; j <= n; j++)Map[i][j] = INF;
while(m--)
{
int u, v, w;
scanf("%d%d%d", &u, &v, &w);
Map[u][v] = Map[v][u] = w;
p[u][v] = p[v][u] = ;//路径条数
}
for(int k = ; k <= n; k++)
{
for(int i = ; i <= n; i++)
{
for(int j = ; j <= n; j++)
{
if(Map[i][k] + Map[k][j] < Map[i][j])
{
Map[i][j] = Map[i][k] + Map[k][j];
p[i][j] = p[i][k] * p[k][j];
}
else if(Map[i][k] + Map[k][j] == Map[i][j])
p[i][j] += p[i][k] * p[k][j];
}
}
}
for(int k = ; k <= n; k++)//k为s-t的必经点
for(int s = ; s <= n; s++)
for(int t = ; t <= n; t++)
if(s != t && s != k && k != t)
{
if(Map[s][k] + Map[k][t] == Map[s][t])//最短路径可以经过k点
{
ans[k] += 1.0 * p[s][k] * p[k][t] / p[s][t];
}
}
for(int i = ; i <= n; i++)printf("%.3f\n", ans[i]);
return Accepted;
}

BZOJ 1491 社交网络 Floyd 最短路的数目的更多相关文章

  1. BZOJ1491: [NOI2007]社交网络(Floyd 最短路计数)

    Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 2343  Solved: 1266[Submit][Status][Discuss] Descripti ...

  2. BZOJ 1491 社交网络(最短路)

    对于这道题,如果我们能求出s到t的最短路径数目和s由v到t的最短路径数目,剩下的很好求了. 令dis[i][j]表示i到j的最短路径,dp[i][j]表示i到j的最短路径条数,如果dis[s][v]+ ...

  3. 1491. [NOI2007]社交网络【最短路计数】

    Description 在社交网络(socialnetwork)的研究中,我们常常使用图论概念去解释一些社会现象.不妨看这样的一个问题. 在一个社交圈子里有n个人,人与人之间有不同程度的关系.我们将这 ...

  4. 【BZOJ1491】【NOI2007】社交网络(最短路,动态规划)

    [BZOJ1491][NOI2007]社交网络(最短路,动态规划) 题面 BZOJ 洛谷 图片是假的,只能到OJ上看 Description 在社交网络(socialnetwork)的研究中,我们常常 ...

  5. 【BZOJ1491】[NOI2007]社交网络 Floyd

    [BZOJ1491][NOI2007]社交网络 Description 在社交网络(socialnetwork)的研究中,我们常常使用图论概念去解释一些社会现象.不妨看这样的一个问题. 在一个社交圈子 ...

  6. [BZOJ1491][NOI2007]社交网络 floyd

    1491: [NOI2007]社交网络 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 2196  Solved: 1170[Submit][Status ...

  7. [NOI2007]社交网络(最短路)

    [NOI2007]社交网络 Description 在社交网络(socialnetwork)的研究中,我们常常使用图论概念去解释一些社会现象.不妨看这样的一个问题. 在一个社交圈子里有n个人,人与人之 ...

  8. Floyd最短路算法

    Floyd最短路算法 ----转自啊哈磊[坐在马桶上看算法]算法6:只有五行的Floyd最短路算法 暑假,小哼准备去一些城市旅游.有些城市之间有公路,有些城市之间则没有,如下图.为了节省经费以及方便计 ...

  9. BZOJ 2750: [HAOI2012]Road( 最短路 )

    对于每个点都跑最短路, 然后我们得到了个DAG, 在这DAG上更新每条边的答案. 考虑e(u, v)∈DAG对答案的贡献:  假设从S到u得路径数为A[u], 从v出发到达任意点的路径数为B[v], ...

随机推荐

  1. php中数组和字符串的相互转换

    数组转字符串: implode('!', $arr);//将一维数组以!分隔组合成一个字符串,参数一可以为"" 字符串转数组: explode('!', $str);//将字符串以 ...

  2. 制作一个控制台小程序,要求:用户可以在控制到录入学生的姓名,当用户输入quit(不区分大小写)时,程序停止接收用户输入,并且显示出学生个数及姓名

    string name = string.Empty; //定义一个集合来接收学生 List<string> my = new List<string>(); do { Con ...

  3. linux 图解常用的云运维监控工具

    随着新技术的不断发展,云服务已经互联网企业的必须,但是长期以来会存在传统物理主机和云主机.私有云和公有云并存的状态.此外,互联网企业的发展速度非常快,小米.滴滴出行等很多企业都是在短短几年内发展起来的 ...

  4. 7、包装类、System、Math、Arrays、大数据运算

    基本类型封装 基本数据类型对象包装类概述 *A:基本数据类型对象包装类概述 *a.基本类型包装类的产生 在实际程序使用中,程序界面上用户输入的数据都是以字符串类型进行存储的.而程序开发中,我们需要把字 ...

  5. LeetCode刷题第一天

    1 . 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用 ...

  6. JavaMail获取已发送邮件

    public static void main(String args[]) { Properties props = new Properties(); // 参数配置 props.setPrope ...

  7. VS2012 常用配置

    一. 整合svn版本控制 1. 点击此 下载与SVN版本相对应的ankhsvn插件,本人用的是Subversion 1.8 2. 安装ankhsvn插件,打开VS2012,右键任一工程,有显示如下图, ...

  8. CentOS6.5下连网以及输入法下载

    宽带拨号连网: 1.系统--首选项--网络连接(或点击桌面右上角连网图标--VPN连接--VPN配置)       2.添加--选择DSL--勾自动连接(也可不勾)--DSL下填写用户名.密码--应用 ...

  9. MySQL:SQL进阶

    一.数据库相关理论 1.系统数据库 information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息.列信息.权限信息.字符信息等performance_s ...

  10. SqlServer代理(已禁用代理xp)

    SqlServer 本地库作业管理的时候已禁用,将其修改为可使用,master数据库下执行以下语句: sp_configure 'show advanced options', 1;  GO  REC ...