首頁 > web前端 > html教學 > Codeforces Round #250 (Div. 1)B(排序+并查集)_html/css_WEB-ITnose

Codeforces Round #250 (Div. 1)B(排序+并查集)_html/css_WEB-ITnose

WBOY
發布: 2016-06-24 11:52:52
原創
887 人瀏覽過

B. The Child and Zoo

time limit per test

2 seconds

memory limit per test

256 megabytes

input

standard input

output

standard output

Of course our child likes walking in a zoo. The zoo has n areas, that are numbered from 1 to n. The i-th area contains ai animals in it. Also there are m roads in the zoo, and each road connects two distinct areas. Naturally the zoo is connected, so you can reach any area of the zoo from any other area using the roads.

Our child is very smart. Imagine the child want to go from area p to area q. Firstly he considers all the simple routes from p to q. For each route the child writes down the number, that is equal to the minimum number of animals among the route areas. Let's denote the largest of the written numbers as f(p,?q). Finally, the child chooses one of the routes for which he writes down the value f(p,?q).

After the child has visited the zoo, he thinks about the question: what is the average value of f(p,?q) for all pairs p,?q (p?≠?q)? Can you answer his question?

Input

The first line contains two integers n and m (2?≤?n?≤?105; 0?≤?m?≤?105). The second line contains n integers: a1,?a2,?...,?an (0?≤?ai?≤?105). Then follow m lines, each line contains two integers xi and yi (1?≤?xi,?yi?≤?n; xi?≠?yi), denoting the road between areas xi and yi.

All roads are bidirectional, each pair of areas is connected by at most one road.

Output

Output a real number ? the value of .

The answer will be considered correct if its relative or absolute error doesn't exceed 10?-?4.

Sample test(s)

input

4 310 20 30 401 32 34 3
登入後複製

output

16.666667
登入後複製

input

3 310 20 301 22 33 1
登入後複製

output

13.333333
登入後複製

input

7 840 20 10 30 20 50 401 22 33 44 55 66 71 45 7
登入後複製

output

18.571429
登入後複製

Note

Consider the first sample. There are 12 possible situations:

  • p?=?1,?q?=?3,?f(p,?q)?=?10.
  • p?=?2,?q?=?3,?f(p,?q)?=?20.
  • p?=?4,?q?=?3,?f(p,?q)?=?30.
  • p?=?1,?q?=?2,?f(p,?q)?=?10.
  • p?=?2,?q?=?4,?f(p,?q)?=?20.
  • p?=?4,?q?=?1,?f(p,?q)?=?10.
  • Another 6 cases are symmetrical to the above. The average is .

    Consider the second sample. There are 6 possible situations:

  • p?=?1,?q?=?2,?f(p,?q)?=?10.
  • p?=?2,?q?=?3,?f(p,?q)?=?20.
  • p?=?1,?q?=?3,?f(p,?q)?=?10.
  • Another 3 cases are symmetrical to the above. The average is .


    题意:RT


    思路:先将点按点权降序排序,然后一个一个点遍历


                假设当前点为i, 则只需考虑i和前面已经遍历过的点,如果存在点j和点v不在同一个连通分量(可以用并查集)


                且j和v都能到达i,则f(j,v)一定等于i的权值,做完以后把i加入并查集即可,并查集还需要维护集合的大小


    來源:php.cn
    本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    熱門教學
    更多>
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板