luogu#P16825. [AFOI 2025] B.岁月

[AFOI 2025] B.岁月

背景

一年前,你满怀信心走进考场,省队名单好像从未离你这般近过,你也曾在心底暗暗发誓 “一定要让大家记得我”。可是岁月让你满怀悲痛的走出考场,一年的时光已经过去,岁月渐渐磨灭了那悲痛的印记:

“大家还是忘了我吧”

转眼间 NOI 2026 即将到来,小 C 在岁月里祝愿各位选手 “春风得意马蹄疾,一日看尽长安花”!!!

第一个岁月指 2025 省选联考 岁月,第二个岁月指时间上的岁月,第三个岁月指本题喵。

题目描述

小 C 有一张 nn 个点 mm 条边的简单无向连通图 G=(V,E)G=(V,E),他想把这张图取下一部分送给小 H。

具体的,他每次想要取下该图的一个非空导出子图 G[S]G[S],使得该导出子图形成森林,同时剩余部分 G[VS]G[V \setminus S] 依旧形成了一张连通图

图中的点有非负点权,作为节约的好孩子,小 C 还希望每次取下的森林的点权之和最小。请你告诉他,他可以取下的森林的最小点权之和。

:::info[什么是导出子图?什么是森林?] 导出子图指的是由原图顶点的一个子集及连接该子集内顶点的所有边构成的一张原图的子图。

森林指的是每个连通分量(连通块)都是树的图。按照定义,一棵树也是森林。 :::

输入格式

本题有多组测试数据。

第一行输入一个整数 TT,表示测试数据组数。

接下来依次输入每组测试数据。对于每组测试数据:

  • 一行,两个整数 n,mn,m,表示原图的点数和边数。
  • 接下来一行 nn 个整数,第 ii 个整数 aia_i 表示点 ii 的点权。
  • 接下来 mm 行,每行 22 个整数 u,vu,v 表示图中的一条无向边。

输出格式

对于每组测试数据,输出一行一个整数表示答案。

2
6 5
517 0 517 517 517 517 
1 2
2 3
3 4
3 5
3 6
4 6
0 0 0 0
1 2
1 3
1 4
2 3
2 4
3 4
517
0

提示

样例 1\textbf 1 解释

对于第一组测试数据,选择导出子图 ({1,2},{(1,2)})(\{1,2\},\{(1,2)\}),点权之和为 517517,且该导出子图是森林剩余部分依旧为连通图。

对于第二组测试数据,选择导出子图 ({1},{})(\{1\},\{\}),点权之和为 00,且该导出子图是森林剩余部分依旧为连通图。

数据范围

请注意读入效率对程序效率带来的影响。

n\sum nm\sum m 分别表示每组数据的 n,mn,m 之和。

对于所有数据:

  • 1n1051\leq n\leq 10^5
  • n1mmin(n(n1)2,2×105)n-1\leq m\leq \min(\frac{n(n-1)}{2},2\times 10^5)
  • 1n1061\leq \sum n\leq 10^6
  • 0m2×1060\leq \sum m\leq 2\times 10^6
  • 0ai1090\leq a_i\leq 10^9
  • 1ui,vin1\leq u_i,v_i\leq n
  • i,uivi\forall i,u_i\neq v_i
  • ij,(ui,vi)(uj,vj)\forall i\neq j,(u_i,v_i)\neq (u_j,v_j)
测试点编号 nn maxai\max a_i 特殊性质
11 105\leq 10^5 =0= 0
242\sim 4 10\leq 10 100\leq 100
565\sim 6 105\leq 10^5 109\leq 10^9 α\alpha
7107\sim 10 109\le10^9
  • 特殊性质 α\alpha:保证 m=n1m=n-1