题目名称 3074. 动物园
输入输出 happyzoo.in/out
难度等级 ★★
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 20
题目来源 Gravatarsyzhaoss 于2019-01-29加入
开放分组 全部用户
提交状态
分类标签
并查集 BFS
分享题解
通过:6, 提交:22, 通过率:27.27%
Gravatarwdsjl 100 2.083 s 7.05 MiB C++
Gravatarflyfree 100 2.148 s 10.34 MiB C++
Gravatar梦那边的美好ET 100 2.379 s 5.83 MiB C++
Gravatar健康铀 100 4.526 s 10.33 MiB C++
Gravatar健康铀 100 4.674 s 10.33 MiB C++
Gravatar罗峰 100 4.721 s 10.34 MiB C++
Gravatar咸鱼四号 90 6.500 s 26.05 MiB C++
Gravatar咸鱼四号 90 6.508 s 26.05 MiB C++
Gravatar咸鱼四号 90 6.545 s 25.90 MiB C++
Gravatarflyfree 55 0.414 s 5.20 MiB C++
本题关联比赛
并查集专题
关于 动物园 的近10条评论(全部评论)
挺不错的题,考查敲板子的同时加了一定思维(正常想出边权排序15min以内就能a了,因为个人的不良习惯和对板子的生疏多调了1.5h)
Gravatar健康铀
2024-09-06 01:29 1楼

3074. 动物园

★★   输入文件:happyzoo.in   输出文件:happyzoo.out   简单对比
时间限制:1 s   内存限制:128 MiB

【题目描述】

  小 Z 计划带妹子去逛动物园。动物园有n个区域,从1到n编号。第i个区域有$a_i$只动物。动物园里有m条道路,道路是无向的,每条道路连接两个区域,且动物园是连通的,每两个区域之间都有路径相连。

  小 Z 为了哄妹子高兴,需要提前规划旅行路线。对于两个区域p和q(p ≠ q)间的任意一条简单路径,定义其高兴度为路径上经过的区域中最少的动物数量(包括区域p和区域q)。小 Z 自然希望高兴度越高越好,定义p、q(p ≠ q)间最大的高兴度为p 、 q间所有简单路径中高兴度的最大值,记作f(p,q),现在小 Z 想知道,对于动物园任意两点的f(p,q)总和是多少。

【输入格式】

输入的第一行为两个整数n和m,第二行包含n个整数,表示每个区域动物的数量。

接下来的每行,每行包含两个数$x_i$和$y_i(x_i \neq y_i)$,表示区域$x_i$和$y_i$之间有一条道路。

【输出格式】

输出包含一行,一个整数表示最大高兴度总和,即$\sum_{p,q}^{p \neq q}{f(p,q)}$。

【样例输入】

4 5
40 20 30 40
1 2
2 3
1 3
2 4
3 4

【样例输出】

300

【提示】

f(1,2) = 20 f(1,3) = 30 f(1,4) = 30

f(2,1) = 20 f(2,3) = 20 f(2,4) = 20

f(3,1) = 30 f(3,2) = 20 f(3,4) = 30

f(4,1) = 30 f(4,2) = 20 f(4,3) = 30

综合为300

【数据规模与约定】

对于 10%的测试数据,满足2 ≤n≤ 10, n-1 ≤ m ≤ 20。

对于 30%的测试数据,满足2 ≤ n ≤ 200, n-1 ≤ m ≤ 1000。

对于 50%的测试数据,满足2 ≤ n ≤ 1000, n-1 ≤ m ≤ 20000。

对于 100%的测试数据,满足2 ≤ n ≤ 10^5, n-1 ≤ m ≤ 10^6,

0 ≤$a_i$ ≤ 100000,1 ≤ $x_i, y_i$ ≤ $n$,($x_i \neq y_i$),保证是连通图且没有重边