题目链接: 传送门

DZY Loves Chemistry

time limit per test1 second     memory limit per test256 megabytes

Description

DZY loves Physics, and he enjoys calculating density.
Almost everything has density, even a graph. We define the density of a non-directed graph (nodes and edges of the graph have some values) as follows:
where v is the sum of the values of the nodes, e is the sum of the values of the edges.
Once DZY got a graph G, now he wants to find a connected induced subgraph G' of the graph, such that the density of G' is as large as possible.
An induced subgraph G'(V', E') of a graph G(V, E) is a graph that satisfies:

  • edge if and only if and edge
  • the value of an edge in G' is the same as the value of the corresponding edge in G, so as the value of a node.
    Help DZY to find the induced subgraph with maximum density. Note that the induced subgraph you choose must be connected.

Input

The first line contains two space-separated integers n (1 ≤ n ≤ 500), . Integer n represents the number of nodes of the graph G, m represents the number of edges.
The second line contains n space-separated integers xi (1 ≤ xi ≤ 10^6), where xi represents the value of the i-th node. Consider the graph nodes are numbered from 1 to n.
Each of the next m lines contains three space-separated integers ai, bi, ci (1 ≤ ai < bi ≤ n; 1 ≤ ci ≤ 10^3), denoting an edge between node ai and bi with value ci. The graph won't contain multiple edges.

Output

Output a real number denoting the answer, with an absolute or relative error of at most 10^ - 9.

Sample Input

1 0
1

2 1
1 2
1 2 1

5 6
13 56 73 98 17
1 2 56
1 3 29
1 4 42
2 3 95
2 4 88
3 4 63

Sample Output

0.000000000000000

3.000000000000000

2.965517241379311

思路:

题目大意:给出一张图,图中的每个节点,每条边都有一个权值,现在有从中挑出一张子图,要求子图联通,并且被选中的任意两点,如果存在边,则一定要被选中。问说点的权值和/边的权值和最大是多少。
可以证明,密度最大的子图一定只有两个点,再往里面加任何边,密度都会被拉低。
假设一个图现在有两个点点权为v1,v2,他们之间相连的边的边权为m1,该图的密度为(v1+v2)/m1。如果增加一个点v3要让该图的密度增加,若v3与v2相连的边的边权为m2。那么只有与v3/m2>(v1+v2)/m1,该图的密度才会增加。但是此时,v2与v3两个点构成的子图的密度为(v2+v3)/m2>(v1+v2+v3)/(m1+m2)。所以密度最大的子图一定只有两个点。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
typedef __int64 LL;

int main()
{
    int N,M;
    while (~scanf("%d%d",&N,&M))
    {
        double ans[505] = {0};
        int u,v,val;
        double res = 0;
        for (int i = 1;i <= N;i++)
        {
            scanf("%lf",&ans[i]);
        }
        while (M--)
        {
            scanf("%d%d%d",&u,&v,&val);
            res = max (res,(ans[u]+ans[v])/val);
        }
        printf("%.15lf\n",res);
    }
    return 0;
} 

CF 444C DZY Loves Physics(图论结论题)的更多相关文章

  1. Codeforces 444A DZY Loves Physics(图论)

    题目链接:Codeforces 444A DZY Loves Physics 题目大意:给出一张图,图中的每一个节点,每条边都有一个权值.如今有从中挑出一张子图,要求子图联通,而且被选中的随意两点.假 ...

  2. CodeForces 444C. DZY Loves Physics(枚举+水题)

    转载请注明出处:http://blog.csdn.net/u012860063/article/details/37509207 题目链接:http://codeforces.com/contest/ ...

  3. Cf 444C DZY Loves Colors(段树)

    DZY loves colors, and he enjoys painting. On a colorful day, DZY gets a colorful ribbon, which consi ...

  4. Codeforces 444C DZY Loves Colors(线段树)

    题目大意:Codeforces 444C DZY Loves Colors 题目大意:两种操作,1是改动区间上l到r上面德值为x,2是询问l到r区间总的改动值. 解题思路:线段树模板题. #inclu ...

  5. cf444A DZY Loves Physics

    A. DZY Loves Physics time limit per test 1 second memory limit per test 256 megabytes input standard ...

  6. CF 444A(DZY Loves Physics-低密度脂蛋白诱导子图)

    A. DZY Loves Physics time limit per test 1 second memory limit per test 256 megabytes input standard ...

  7. Codeforces Round #254 (Div. 1) A. DZY Loves Physics 智力题

    A. DZY Loves Physics 题目连接: http://codeforces.com/contest/444/problem/A Description DZY loves Physics ...

  8. CF 445B DZY Loves Chemistry(并查集)

    题目链接: 传送门 DZY Loves Chemistry time limit per test:1 second     memory limit per test:256 megabytes D ...

  9. CF 444B(DZY Loves FFT-时间复杂度)

    B. DZY Loves FFT time limit per test 1 second memory limit per test 256 megabytes input standard inp ...

随机推荐

  1. cookie记住密码功能

    很多门户网站都提供了记住密码功能,虽然现在的浏览器都已经提供了相应的记住密码功能 效果就是你每次进入登录页面后就不需要再进行用户名和密码的输入: 记住密码功能基本都是使用cookie来进行实现的,因此 ...

  2. JS导出Excel 代码笔记

    var tableToExcel = (function () { var uri = 'data:application/vnd.ms-excel;base64,', template = '< ...

  3. js简易函数性能测试器

    如果你不想用浏览器的js性能测试工具,可以用下面这个简单的函数测试一下(1毫秒一下的就测不出来了) function testFn(fn,param){ var start = new Date(). ...

  4. svn做目录访问控制(AuthzSVNAccessFile)

    这个是Apache的配置文件 加载模块和svn的相关设置

  5. Linux_Shell_grep

    grep [选项] "搜索内容"  文件名 选项列表: -i 忽略大小写      -n 输出行号 -v 反向查找 --color=auto 搜索出的关键字用颜色显示   ll|g ...

  6. [转]IPTABLES中SNAT和MASQUERADE的区别

    IPtables中可以灵活的做各种网络地址转换(NAT)网络地址转换主要有两种:SNAT和DNAT SNAT是source network address translation的缩写即源地址目标转换 ...

  7. Kernel Methods - An conclusion

    Kernel Methods理论的几个要点: 隐藏的特征映射函数\(\Phi\) 核函数\(\kappa\): 条件: 对称, 正半定; 合法的每个kernel function都能找到对应的\(\P ...

  8. hdu1521 指数型母函数

    排列组合 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  9. PyQt类库介绍

    安装完PyQt后我们去看看这个库里面有些什么cd /usr/lib/python3/dist-packages/PyQt5/  && ls都是些.so的动态链接库,这就是为什么我们在安 ...

  10. Mysql-windows下修改密码

    忘记密码修改(以下各种方法视情况而使用,本人测试,有些都是案情况才可行,但都是有设置成功过) 注:修改密码成功后一定要记得刷新下权限(否则将导致不能使用当前用户连接) mysql>FLUSH P ...