Description

 

Solution

n<=100自然联想Floyd

设两个数组d[n][n]存最短距离,t[n][n]存最短路径条数

更新d的时候顺便更新t,乘法原理

 if(d[i][j]>d[i][k]+d[k][j]){
d[i][j]=d[i][k]+d[k][j];
t[i][j]=t[i][k]*t[k][j];
}
else if(d[i][j]==d[i][k]+d[k][j])
t[i][j]+=t[i][k]*t[k][j];

再统计答案

 if(d[i][j]==d[i][k]+d[k][j])
c[k]+=(double)(t[i][k]*t[k][j])/t[i][j];

感觉Floyd也就能做这些事。。

Code

 #include<cstdio>
#include<algorithm>
#include<cstring>
#define ll long long
const int maxn=; ll d[maxn][maxn],t[maxn][maxn];
int n,m;
double c[maxn]; int main(){
scanf("%d%d",&n,&m);
int u,v,w;
memset(d,/,sizeof(d));
for(int i=;i<=n;i++)
d[i][i]=,t[i][i]=; for(int i=;i<=m;i++){
scanf("%d%d%d",&u,&v,&w);
if(w<d[u][v]){
d[u][v]=d[v][u]=w;
t[u][v]=t[v][u]=;
}
else if(w==d[u][v]){
t[u][v]++;
t[v][u]++;
}
} for(int k=;k<=n;k++)
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)if(i!=j&&i!=k&&j!=k){
if(d[i][j]>d[i][k]+d[k][j]){
d[i][j]=d[i][k]+d[k][j];
t[i][j]=t[i][k]*t[k][j];
}
else if(d[i][j]==d[i][k]+d[k][j])
t[i][j]+=t[i][k]*t[k][j];
} memset(c,,sizeof(c));
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
for(int k=;k<=n;k++)if(i!=j&&i!=k&&j!=k){
if(d[i][j]!=d[i][k]+d[k][j]) continue;
c[k]+=(double)t[i][k]*t[k][j]/t[i][j];
} for(int i=;i<=n;i++)
printf("%.3lf\n",c[i]);
return ;
}

【Floyd】BZOJ1491: [NOI2007]社交网络的更多相关文章

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

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

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

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

  3. BZOJ1491 [NOI2007]社交网络 【floyd】

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

  4. BZOJ1491: [NOI2007]社交网络

    传送门 最短路计数问题.因为数据量非常小($N \leq 100$),所以Floyd随便搞搞就行了. $f[i][j]$表示路径长度,$g[i][j]$表示最短路方案数. 先跑一遍裸的Floyd,然后 ...

  5. BZOJ1491 [NOI2007]社交网络[最短路计数]

    $n$非常的小,结合题目计算式可以想到$O(n^3)$暴枚$s,t,v$,看$v$在不在$s\to t$最短路上($dis_{s,v}+dis_{v,t}=dis_{s,v}$是$v$在两点最短路上的 ...

  6. 洛谷P2047||bzoj1491 [NOI2007]社交网络

    https://www.luogu.org/problemnew/show/P2047 https://www.lydsy.com/JudgeOnline/problem.php?id=1491 也可 ...

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

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

  8. 图论(floyd算法):NOI2007 社交网络

    [NOI2007] 社交网络 ★★   输入文件:network1.in   输出文件:network1.out   简单对比 时间限制:1 s   内存限制:128 MB [问题描述] 在社交网络( ...

  9. BZOJ 1491: [NOI2007]社交网络( floyd )

    floyd...求最短路时顺便求出路径数. 时间复杂度O(N^3) ------------------------------------------------------------------ ...

随机推荐

  1. int类型被强制转换成较低精度的byte类型

    公司的项目上线之前会进行代码合规性检查,其中很容易违反的一个规则就是“不要把原始类型转换成较低的精度”,实际开发的过程中,很多方法在处理数据时,尤其在做移位操作的时候,难免要把int类型转换成byte ...

  2. Mac电脑配置Apache服务器详细说明

    Mac电脑服务器配置过程,无论是个人学习,还是公司测试都非常实用,流程精简易懂,用于让Mac电脑做服务器方便做网络数据请求的测试. 第一步:定位到 Apache2 目录 $ cd /etc/Apach ...

  3. SpringMVC:数据绑定入门(二)

    1.为了实现所输入的数据格式与所需要的匹配该如何做到?例如:http://localhost:8080/date1.do?date1=2018-01-01,其中输入的date1的数据类型为一个格式为& ...

  4. python---内置模块

    时间模块 时间分为三种类型:时间戳,结构化时间,格式化时间 #时间模块,time import time #时间戳 x = time.time() time.gmtime() #将时间戳转换成UTC时 ...

  5. 各种代码版本控制工具下使用http代理的方法

    原文:各种SCM工具下使用http代理下载源码:http://www.linuxeden.com/html/develop/20090723/66951.html SCM是软件配置管理的简称,常见的S ...

  6. Django开发环境静态文件访问配置

    settings主要配置项目: STATIC_ROOT = 'D:\Dev\jpDev\czxg\assets' #这个地方是所在系统标准目录文法配置 STATIC_URL = '/static/' ...

  7. Using SSH and SFTP in Mac OS X

    http://answers.stat.ucla.edu/groups/answers/wiki/7a848/ SH and SFTP are command line applications av ...

  8. React+ANTD项目使用后的一些关于生命周期比较实用的心得

    1. constructor() constructor(props){ super(props) this.state=({ }) } 一定先写super  可以接收从父组件传来的值 父组件往子组件 ...

  9. JWT实现用户权限认证

    网上的java基础教程曾教会我们,将用户登录信息存在session(服务器端)中,需要验证的时候拿出来作对比以达到身份 验证的效果.但这种方式暴露的问题也是可想而知的: 1.Seesion:每次认证用 ...

  10. nltk download失败

    之前在台式机win10的系统,python 2.7,用的pycharm执行nltk download(),很顺利.然而到了我的笔记本只是换个一个win8的系统,Python的配置都是一样的,但是这时候 ...