https://www.luogu.org/problemnew/show/P2047

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

也可以用floyed做掉

 #include<cstdio>
#include<algorithm>
#include<cstring>
#include<vector>
using namespace std;
#define fi first
#define se second
#define mp make_pair
#define pb push_back
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int,int> pii;
ll n,m;
ll a[][],d[][];
ll n1[][];//最短路计数
double an[];
int main()
{
ll i,j,k,x,y,z;
scanf("%lld%lld",&n,&m);
memset(a,0x3f,sizeof(a));
for(i=;i<=n;++i)
a[i][i]=;
for(i=;i<=m;++i)
{
scanf("%lld%lld%lld",&x,&y,&z);
a[x][y]=a[y][x]=min(a[x][y],z);
}
memcpy(d,a,sizeof(d));
for(i=;i<=n;++i)
for(j=;j<=n;++j)
n1[i][j]=;
for(k=;k<=n;++k)
for(i=;i<=n;++i)
for(j=;j<=n;++j)
if(i!=k&&i!=j&&k!=j)
{
if(d[i][j]>d[i][k]+d[k][j])
{
d[i][j]=d[i][k]+d[k][j];
n1[i][j]=n1[i][k]*n1[k][j];
}
else if(d[i][j]==d[i][k]+d[k][j])
{
n1[i][j]+=n1[i][k]*n1[k][j];
}
}
//for(i=1;i<=n;++i)
// for(j=1;j<=n;++j)
// printf("1t%lld %lld %lld %lld\n",i,j,d[i][j],n1[i][j]);
for(i=;i<=n;++i)
{
for(j=;j<=n;++j)
for(k=;k<=n;++k)
if(i!=j&&j!=k&&i!=k)
{
if(d[j][i]+d[i][k]==d[j][k])
{
an[i]+=double(n1[j][i])*n1[i][k]/n1[j][k];
}
}
printf("%.3f\n",an[i]);
}
return ;
}

洛谷P2047||bzoj1491 [NOI2007]社交网络的更多相关文章

  1. 洛谷 P2047 [NOI2007]社交网络 解题报告

    P2047 [NOI2007]社交网络 题目描述 在社交网络(\(social\) \(network\))的研究中,我们常常使用图论概念去解释一些社会现象.不妨看这样的一个问题.在一个社交圈子里有\ ...

  2. 洛谷——P2047 [NOI2007]社交网络

    P2047 [NOI2007]社交网络 $Floyd$,一眼看到就是他(博主是不小心瞄到了这个题的标签吧qwq) 这个题目只要预处理出$S$到$T$的最短路的条数即可,类似$Spfa$的更新方法 如果 ...

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

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

  4. 洛谷P2047 [NOI2007]社交网络 [图论,最短路计数]

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

  5. 洛谷—— P2047 社交网络

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

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

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

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

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

  8. BZOJ1491: [NOI2007]社交网络

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

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

    Description   Solution n<=100自然联想Floyd 设两个数组d[n][n]存最短距离,t[n][n]存最短路径条数 更新d的时候顺便更新t,乘法原理 if(d[i][ ...

随机推荐

  1. js程序开发-3

    <h1>Date()类型</h1> 获取日期和时间 getDate() 获取日 1-31 getDay () 获取星期 0-6 getMonth () 获取月 0-11 get ...

  2. laravel基础课程---3、路由(Laravel中的常见路由有哪几种)

    laravel基础课程---3.路由(Laravel中的常见路由有哪几种) 一.总结 一句话总结: 6种:post,get,put,patch,delete,options Route::get($u ...

  3. UIButton设置为圆形按钮并增加边框

    设置按钮的长和宽尺寸一致(即为正方形),然后将圆角半径设为边长的一半,即形成一个圆形 UIButton *btn = [UIButton buttonWithType:UIButtonTypeSyst ...

  4. CKEDITOR 默认最大化

    createEditor("newsEditer"); //创建一个editer //editer 最大化 CKEDITOR.instances["newsEditer& ...

  5. C语言system()函数:执行shell命令

    头文件:#include <stdlib.h> 定义函数:int system(const char * string); 函数说明:system()会调用fork()产生子进程, 由子进 ...

  6. distutils 打包setup.py

    from distutils.core import setup setup(name='hello', version='1.0', description='test example', auth ...

  7. codevs 1155今明的预算方案(复习有依赖性的背包问题)

    1155 金明的预算方案 [题目大意]买附件必须买主件. 在一定钱数内 求总价值最大. [题解]有依赖性的背包问题. [code] #include<iostream> #include& ...

  8. kitti 数据集解析

    1.KITTI数据集采集平台: KITTI数据采集平台包括2个灰度摄像机,2个彩色摄像机,一个Velodyne 3D激光雷达,4个光学镜头,以及1个GPS导航系统.坐标系转换原理参见click.KIT ...

  9. MTK LCM帧率设置公式

    clk=(width + W total porch)x(height + H total porch)x (6<18bit>或者x8<24bit>)x fps/ lane n ...

  10. PhpStorm中如何配置SVN,详细操作方法

    1.简介: PhpStorm是一个轻量级且便捷的PHP IDE,其提供的智能代码补全,快速导航以及即时错误检查等功能大大提高了编码效率.它是一款商业的 PHP 集成开发工具,以其独特的开发便利性,短时 ...