#P12864. [NERC 2020 Online] Optimum Server Location

[NERC 2020 Online] Optimum Server Location

Description

世界顶级 IT 公司 Oondex 即将进驻 Lineland!在经历了多年烦人的"该服务在您所在区域不可用"错误提示后,Lineland 的居民终于能够收听最流行的音乐、观看最新的病毒视频,并享受 Oondex 提供的诸多服务。

Lineland 可以看作一条实数坐标轴。该地区有独特的网络资费标准:连接两个相距 dd 公里的服务器,建立一条吞吐量为 tt Mbit/s 的网络通道需要花费 dtd \cdot t 美元。

为了提供更好的用户体验,Oondex 计划在 Lineland 部署 nn 台服务器。这些服务器将执行常规的数据处理任务,需要彼此之间进行密集的网络交互。同时,这些服务器还将为外部用户提供服务,通过 Lineland 已有的 mm 台特殊 CDN 服务器(内容分发服务器)进行内容分发。

Oondex 的分析师已经确定:

  • 对于每对服务器 ii, jj1i<jn1 \leq i < j \leq n),服务器 iijj 之间需要的吞吐量为 dijd_{ij} Mbit/s
  • 对于每对服务器 ii 和 CDN 服务器 kk1in1 \leq i \leq n1km1 \leq k \leq m),服务器 ii 和 CDN 服务器 kk 之间需要的吞吐量为 cikc_{ik} Mbit/s

给定 CDN 服务器的位置 aka_k1km1 \leq k \leq m),确定 Oondex 服务器的部署位置 xix_i1in1 \leq i \leq n),使得部署成本最小。形式化地说,确定 xix_i 使得成本值 $v = \sum\limits_{1 \leq i < j \leq n} |x_i - x_j| \cdot d_{ij} + \sum\limits_{\substack{1 \leq i \leq n \\ 1 \leq k \leq m}} |x_i - a_k| \cdot c_{ik}$ 最小。允许多台服务器(包括 Oondex 服务器和 CDN 服务器)部署在同一位置。

Input Format

第一行包含两个整数 nnmm1n,m701 \leq n, m \leq 70)——需要部署的 Oondex 服务器数量和已有的 CDN 服务器数量。

第二行包含 mm 个整数 a1,a2,,ama_1, a_2, \ldots, a_m0ak1060 \leq a_k \leq 10^6)——现有 CDN 服务器的位置。

接下来的 nn 行,第 ii 行包含 mm 个整数 ci1,ci2,,cimc_{i1}, c_{i2}, \ldots, c_{im},其中 cikc_{ik}0cik500 \leq c_{ik} \leq 50)表示第 ii 台 Oondex 服务器与第 kk 台 CDN 服务器之间的吞吐量。

最后的 nn 行,第 ii 行包含 nn 个整数 di1,di2,,dind_{i1}, d_{i2}, \ldots, d_{in}0dij500 \leq d_{ij} \leq 50dij=djid_{ij} = d_{ji}dii=0d_{ii} = 0),其中 dijd_{ij} 表示第 jj 台 Oondex 服务器与第 ii 台 Oondex 服务器之间的吞吐量。

Output Format

第一行输出值 vv——部署 nn 台 Oondex 服务器的最小可能成本。

第二行输出 nn 个整数 x1,x2,,xnx_1, x_2, \ldots, x_n,其中 xix_i0xi1060 \leq x_i \leq 10^6)表示第 ii 台 Oondex 服务器应该部署的位置。可以证明存在满足 xix_i 范围限制(范围和整数性)的最优解。

3 4
20 14 5 2
1 2 3 0
3 0 3 0
0 0 0 20
0 15 0
15 0 0
0 0 0
78
9 9 2

Hint

翻译由 DeepSeek V3 完成