code1796 社交网络

输入描述 Input Description

输入文件中第一行有两个整数,n 和 m,表示社交网络中结点和无向边的数 目。在无向图中,我们将所有结点从 1 到 n 进行编号。 接下来 m 行,每行用三个整数 a, b, c 描述一条连接结点 a 和 b,权值为 c 的 无向边。注意任意两个结点之间最多有一条无向边相连,无向图中也不会出现自 环(即不存在一条无向边的两个端点是相同的结点)。

输出描述 Output Description

输出文件包括 n 行,每行一个实数,精确到小数点后 3 位。第 i 行的实数表 示结点 i 在社交网络中的重要程度

样例输入 Sample Input

4 4

1 2 1

2 3 1

3 4 1

4 1 1

样例输出 Sample Output

1.000

1.000

1.000

1.000

为1

Folyd算法,在求最短路的同时处理c数组,然后再计算I数组。具体见代码。

代码:

#include<iostream>
#include<cstring>
#include<cstdio>
#define Size 105
using namespace std;

int n,m;
double g[Size][Size];
double c[Size][Size];
double I[Size];

int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=n;j++)
            g[i][j]=1e15,c[i][j]=0;
    int a,b; double w;
    for(int i=1;i<=m;i++){
        cin>>a>>b>>w;
        g[a][b]=g[b][a]=w;
        c[a][b]=c[b][a]=1;
    }

    for(int k=1;k<=n;k++){
        for(int i=1;i<=n;i++){
            for(int j=1;j<=n;j++){
                if(k==i||k==j||i==j)continue;
                if(g[i][k]+g[k][j]<g[i][j]){
                    g[i][j]=g[i][k]+g[k][j];
                    c[i][j]=0;
                }
                if(g[i][k]+g[k][j]==g[i][j]){
                    c[i][j]+=c[i][k]*c[k][j];
                }
            }
        }
    }
    /*
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            cout<<c[i][j]<<‘ ‘;
        }
        cout<<endl;
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            cout<<g[i][j]<<‘ ‘;
        }
        cout<<endl;
    }
    */
    for(int k=1;k<=n;k++){
        for(int i=1;i<=n;i++){
            for(int j=1;j<=n;j++){
                if(k==i||k==j||i==j)continue;
                if(g[i][k]+g[k][j]==g[i][j]&&c[i][j]>0){
                    I[k]+=c[i][k]*c[k][j]/c[i][j];
                }
            }
        }
    }
    for(int i=1;i<=n;i++)printf("%.3lf\n",I[i]);
    return 0;
}
时间: 2024-11-04 16:08:53

code1796 社交网络的相关文章

luogu P2047 社交网络

P2047 社交网络 2017-09-17 题目描述 在社交网络(social network)的研究中,我们常常使用图论概念去解释一些社会现象.不妨看这样的一个问题.在一个社交圈子里有n个人,人与人之间有不同程度的关系.我 们将这个关系网络对应到一个n个结点的无向图上,两个不同的人若互相认识,则在他们对应的结点之间连接一条无向边,并附上一个正数权值c,c越小,表示两 个人之间的关系越密切. 我们可以用对应结点之间的最短路长度来衡量两个人s和t之间的关系密切程度,注意到最短路径上的其他结点为s和

bzoj1491 [NOI2007]社交网络

Description 在社交网络(socialnetwork)的研究中,我们常常使用图论概念去解释一些社会现象.不妨看这样的一个问题.在一个社交圈子里有n个人,人与人之间有不同程度的关系.我们将这个关系网络对应到一个n个结点的无向图上,两个不同的人若互相认识,则在他们对应的结点之间连接一条无向边,并附上一个正数权值c,c越小,表示两个人之间的关系越密切.我们可以用对应结点之间的最短路长度来衡量两个人s和t之间的关系密切程度,注意到最短路径上的其他结点为s和t的联系提供了某种便利,即这些结点对于

bzoj 1491: [NOI2007]社交网络

Description 在社交网络(socialnetwork)的研究中,我们常常使用图论概念去解释一些社会现象.不妨看这样的一个问题. 在一个社交圈子里有n个人,人与人之间有不同程度的关系.我们将这个关系网络对应到一个n个结点的无向图上, 两个不同的人若互相认识,则在他们对应的结点之间连接一条无向边,并附上一个正数权值c,c越小,表示两个人 之间的关系越密切.我们可以用对应结点之间的最短路长度来衡量两个人s和t之间的关系密切程度,注意到最短路 径上的其他结点为s和t的联系提供了某种便利,即这些

社会友谊和人群移动:基于位置的社交网络中的用户移动(一)

原文标题:Friendship and Mobility: User Movement In Location-Based Social Networks 作者单位:斯坦福大学    发表日期:2011年 会议:第十七届 ACM SIGKDD 国际会议--知识发现和数据挖掘 引用:Cho E, Myers S A, Leskovec J. Friendship and mobility: user movement in location-based social networks[C]// P

基于社交网络的情绪化分析II

基于社交网络的情绪化分析II By 白熊花田(http://blog.csdn.net/whiterbear) 转载需注明出处,谢谢. 上一篇进行了微博数据的抓取,这一篇进行数据的处理介绍. 无意义微博的定义 观察发现微博中有很多的微博是用户参与某些活动而转发的微博,比如:"SmashHit,作者:MediocreAB.推荐!"http://t.cn/8Fkgg9k":"刚刚下载了豆丁文档:项目公司运营简报模板"http://t.cn/RPjFZKf&qu

可怕!社交网络上瘾者的大脑是这个样子的

电子科技的迅猛发展使越来越多的人开始使用社交网站,对于许多用户来说,他们对社交网站保持着一种执着的好奇心,瞪大眼睛探索着网络上的大千世界.但事实证明,这种"社交网瘾"的行为其实会在大脑中显现出来:一项新的研究发现,这种大脑强迫性驱使人不断登陆社交网站的行为,其实和吸毒上瘾的行为十分相似. 然而,这仅仅是相似而已,并不是完全的一样:这些有社交网瘾的用户,他们大脑的脉冲系统活动更加活跃,但是这片脑区却又能很好的抑制他们冲动的行为,这点便与***瘾君子的大脑不同.加州州立大学的心理学家奥菲尔

企业社交网络正在催生新的知识

短短几年,企业社交网络就成为一种影响深远的社会和经济现象.用户用微博.微信来沟通并分享内容,参与网络社区.组织活动.获取他人建议和经验,这一切规模庞大且没有边界的限制.社交网络是互联网上使用最多的功能,94%的人利用它进行学习,78%的人利用它分享知识,49%的人利用它与专家互动.每天有20亿的社会连接,超过30多亿的社交消息,企业社交网络正在催生新的知识经济. 然而最近通过朋友了解很多有关社交网络的问题,看了几个网站的评价好像还不错,可是我还是觉得这些企业社交网站有什么区别呢.然而开始一步步的

Spark Graphx图计算案例实战之aggregateMessages求社交网络中的最大年纪追求者和平均年纪!

Spark Graphx提供了mapReduceTriplets来对图进行聚合计算,但是1.2以后不再推荐使用,源代码如下: @deprecated("use aggregateMessages", "1.2.0") def mapReduceTriplets[A: ClassTag](     mapFunc: EdgeTriplet[VD, ED] => Iterator[(VertexId, A)],     reduceFunc: (A, A) =&g

浅谈社交网络中的用户心理

为什么在国内外的App排行榜中,占大多数的一直都是社交网络类的应用,因为社交网络是用户沟通和交流的真实反映,尽管社交网络平台存在着这样那样的虚假信息,但是从整体来看,社交网络能够反映大多数人的沟通交流,在沟通交流中能够较为真实地体现出用户的习惯,同时,要想社交和开发出更加适合用户的的社交网络产品和应用,则更需要从用户的心理层面上去把握. 第 一,社交网络中用户的隐私.不管是在PC还是移动端,我们都在使用社交网络,虽然很多用户会喜欢将自己的资料.信息存储在社交平台当中,但是也经常出现各 种网络数据