BZOJ-1491-社交网络
题目链接:https://vjudge.net/problem/HYSBZ-1491
题目大意:中文题目,题意见题目
题目分析:由于数据量很小,可以考虑进行Floyd算法。
第一次进行Floyd算法,算出两点之间的最短路径,另外记录下这两点之间有多长条最短路走法。
第二场进行类似Floyd算法的方法,计算经过k点,是否可以走出最短路,如果可以的话,进行计算。
注意在两次统计计算的过程中,要用组合的方法,即num[i][j]=num[i][k]*num[k][j];
给出代码:
#include <iostream> #include <cstdio> #include <queue> #include <cstring> #include <string> using namespace std; int n,m; +][+]; +][+]; int inf=0x3f3f3f; ]; int main() { cin>>n>>m; memset(node,inf,sizeof(node)); //memset(node1,0,sizeof(node1)); // memset(mark,0,sizeof(mark)); ; i<m; i++) { int a,b,c; scanf("%d%d%d",&a,&b,&c); node[a][b]=c; node[b][a]=c; node1[a][b]=; node1[b][a]=; } // for(int i=1; i<=n; i++) // node[i][i]=0; /* for(int i=1; i<=n; i++) { for(int j=1; j<=n; j++) { cout<<node[i][j]<<" "; } cout<<endl; } cout<<endl;*/ ; k<=n; k++) { ; i<=n; i++) { ; j<=n; j++) { if(k!=i&&k!=j&&i!=j) { if(node[i][j]==node[i][k]+node[k][j]) node1[i][j]=node1[i][j]+(node1[i][k]*node1[k][j]); else if(node[i][j]>node[i][k]+node[k][j]) { node1[i][j]=node1[i][k]*node1[k][j]; node[i][j]=node[i][k]+node[k][j]; } } // node[i][j]= } } } /* for(int i=1; i<=n; i++) { for(int j=1; j<=n; j++) { cout<<node[i][j]<<" "; } cout<<endl; }*/ ; k<=n; k++) { ; i<=n; i++) { ; j<=n; j++) { ) { mark[k]+=((node1[i][k]*node1[k][j])/node1[i][j]); // cout<<mark[k]<<" "<<k<<" "<<i<<" "<<j<<endl; // cout<<node1[i][k]<<" "<<node1[k][j]<<endl; } } } } ; i<=n; i++) printf("%.3f\n",mark[i]); ; }
BZOJ-1491-社交网络的更多相关文章
- BZOJ 1491 社交网络 Floyd 最短路的数目
题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1491 题目大意: 见链接 思路: 直接用floyd算法求最短路,同时更新最短路的数目即 ...
- BZOJ 1491 社交网络(最短路)
对于这道题,如果我们能求出s到t的最短路径数目和s由v到t的最短路径数目,剩下的很好求了. 令dis[i][j]表示i到j的最短路径,dp[i][j]表示i到j的最短路径条数,如果dis[s][v]+ ...
- BZOJ 1491 [NOI2007]社交网络
1491: [NOI2007]社交网络 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 1159 Solved: 660[Submit][Status] ...
- BZOJ 1491: [NOI2007]社交网络( floyd )
floyd...求最短路时顺便求出路径数. 时间复杂度O(N^3) ------------------------------------------------------------------ ...
- 【BZOJ 1491】 [NOI2007]社交网络
Description Input Output 输出文件包括n 行,每行一个实数,精确到小数点后3 位.第i 行的实数表 示结点i 在社交网络中的重要程度. Sample Input 4 4 1 2 ...
- BZOJ 1491: [NOI2007]社交网络(Floyd+暴力乱搞)
题面: https://www.lydsy.com/JudgeOnline/problem.php?id=1491 题解: 先看数据范围,n<=100..欸可以乱搞了 首先因为小学学过的乘法原理 ...
- bzoj 1491 floyd
我们用w[i][j]表示i到j的最短路的数量,dis[i][j]表示i到j的最短路,那么我们在floyd的时候,如果dis[i][k]+dis[k][j]==dis[i][j],根据乘法原理我们就w[ ...
- bzoj 1491
思路:先求出每两点之间的最短路,建出n个最短路径图,然后枚举起点终点和中间点,计算条数用到拓扑图dp... 看别人的方法很巧妙地用floyd在计算最短路的时候就可以直接计算条数啦... #includ ...
- BZOJ1491: [NOI2007]社交网络
传送门 最短路计数问题.因为数据量非常小($N \leq 100$),所以Floyd随便搞搞就行了. $f[i][j]$表示路径长度,$g[i][j]$表示最短路方案数. 先跑一遍裸的Floyd,然后 ...
- 【BZOJ】1491: [NOI2007]社交网络(floyd)
http://www.lydsy.com/JudgeOnline/problem.php?id=1491 囧囧囧...................... 囧1:虽然自己想到做法了,但是操作的时候, ...
随机推荐
- yum安装phpmyadmin小问题
在CentOS6上面安装phpmyadmin前,加入repo: rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt ...
- HTML5 客户端存储数据的两种方式
HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储 sessionStorage - 针对一个 session 的数据存储 之前,这些都是由 coo ...
- openvpn配置注意事项
1.安装VPN安装结束后,需要配置CONFIG文件夹服务端及客户端的配置文件,建议从sample文件里直接拷贝修改,网上的一些案例会引起无法启动的问题,没仔细研究过是哪里错了,反正最后从sample里 ...
- RSA加密通信小结(三)--生成加解密所需的SSL命令与流程
在iOS中使用RSA加密解密,需要用到.der和.p12后缀格式的文件,其中.der格式的文件存放的是公钥(Public key)用于加密,.p12格式的文件存放的是私钥(Private key)用于 ...
- 实现最简单PHP MVC实例
关于网上大多MVC的简介我就不再多说,就是Model(模型)View(视图) C(控制器)这里作为一个刚入门PHP MVC框架的我,这里我搭建一个最简易的mvc项目,从而理解MVC 1在apache服 ...
- 关于HTML学习整理(一)
新人,自己整理,第一次发,以后慢慢整理,欢迎指点,那些链接怎么做的,希望有人告知一下,谢谢! HTML页面写法,标签成对出现,可嵌套使用 <html> <head> <t ...
- 转换编码,将Unicode编码转换成可以浏览的utf-8编码
//转换编码,将Unicode编码转换成可以浏览的utf-8编码 public function unicodeDecode($name) { $pattern = '/([\w]+)|(\\\u([ ...
- php检测当前浏览器是否为微信浏览器
<?php /** php检测当前浏览器是否为微信浏览器 */ function is_weixin_browser(){ if(strpos($_SERVER['HTTP_USER_AGENT ...
- 【Android Developers Training】 30. 允许其它应用启动你的Activity
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- 【知识整理】这可能是最好的RxJava 2.x 入门教程(五)
这可能是最好的RxJava 2.x入门教程系列专栏 文章链接: 这可能是最好的RxJava 2.x 入门教程(一) 这可能是最好的RxJava 2.x 入门教程(二) 这可能是最好的RxJava 2. ...