#P3400. 「2020-2021 集训队作业」Storm

「2020-2021 集训队作业」Storm

题目背景

风暴席卷了见泷原市。

市气象局还未来得及建立起任何监测设施,要想确定风暴的状态,只能借助市内的风力计数据。而这项任务被交给了你——气象局新聘任的一名数据工程师。

题目描述

城市中有 MM 条主要街道,它们连接着 NN 个路口。在每个路口处都有一个风力计,其中路口 ii 处的风力计示数为 viv_i ,示数越大表示风力越强。

在街道中可能出现“狭管效应”,即气流经过狭窄的区域时压强降低、流速升高的现象。这会导致穿过该街道的风速提高,从而使得该街道连接的路口处风力计示数相比真实值偏大。第 ii 条街道的该效应强度为 eie_i

为了确定风暴中心地带的范围,你需要找到一个由不超过 KK 条街道(可以是 00 条,另外注意不能重复选择一条街道)组成的集合 SS ,以最大化:

$$\sum\limits_{x\in I(S)} v_x -\sum\limits_{y\in S} e_y \tag{1} $$

其中 I(S)I(S) 表示所有与 SS 中至少一条街道相连的路口构成的集合。

如果一个路口与超过一条 SS 中的街道相连,它也只会被算入一次。气象专家猜测风暴的外围可能存在多个较小的气旋,从而可能存在多个独立的风暴中心,因此你选出的街道集合不一定连通。

请你尽快完成任务,气象局能否采取下一步行动取决于你的表现。

输入格式

第一行一个正整数 TT ,表示测试点个数。接下来对每个测试点:

  • 第一行三个正整数 N,M,KN,M,K ,分别表示路口个数、街道条数、选取街道数量的上限。路口按 11NN 标号,街道按 11MM 标号。
  • 第二行 NN 个非负整数,表示 v1,v2,,vNv_1,v_2,\cdots,v_N
  • 接下来 MM 行,其中的第 ii 行有三个整数 ai,bi,eia_i,b_i,e_i ,表示街道 ii 连接路口 aia_ibib_i ,其狭管效应强度为 eie_i

输出格式

对每个测试点输出一行一个整数,表示 (1)(1) 式的最大值。

1
5 5 2
1 2 4 8 16
1 2 1
1 3 2
3 4 2
4 5 2
2 5 1
27

数据范围与提示

对所有数据:

  • 2K(N+M)106\sum 2^K(N+M)\leq 10^6 ,这里的求和号表示对一组数据中所有测试点求和。
  •  1T5\space 1\leq T\leq 5
  •  1N,M,K\space 1\leq N,M,K
  •  0ei,vi108\space 0\leq e_i,v_i\leq 10^8
  •  1ai,biN\space 1\leq a_i,b_i\leq N
  • 所有路口和街道所构成的无向图没有自环,但可以有重边、可以不连通、可以有孤立点。
  • 保证答案不超过 21092\cdot 10^9

子任务 113030 分,(N+M)1500\sum (N+M)\leq 1500

子任务 223030 分,K9K\leq 9

子任务 334040 分,无额外限制

后记

在埋头调试的间隙,你抬头望了望窗外,迎面晃眼的阳光却让你一愣。

不知何时,风暴已经停息了。