Это сложная версия задачи. В трех версиях отличаются ограничения на $$$n$$$ и $$$m$$$. Вы можете совершать взломы только в том случае, если решены все версии задачи.
Пак Чанек устанавливает интернет-связь в деревне Кхунтиен. Деревню можно представить как связный простой граф с $$$n$$$ домами и $$$m$$$ интернет-кабелями, соединяющими дом $$$u_i$$$ и дом $$$v_i$$$, каждый с задержкой $$$w_i$$$.
Существует $$$p$$$ домов, которым требуется интернет. Пак Чанек может установить серверы не более чем в $$$k$$$ домов. Дома, которым нужен интернет, будут подключены к одному из серверов. Однако, поскольку каждый кабель имеет свою задержку, задержка, которую испытывает дом $$$s_i$$$, нуждающийся в интернете, будет равна максимальной задержке кабелей между этим домом и сервером, к которому он подключен.
Для каждого $$$k = 1,2,\ldots,n$$$, помогите Пак Чанеку определить минимальную суммарную задержку, которая может быть достигнута для всех домов, требующих интернет.
Каждый тест состоит из нескольких наборов входных данных. Первая строка содержит одно целое число $$$t$$$ ($$$1 \le t \le 2000$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит три целых числа $$$n$$$, $$$m$$$, $$$p$$$ ($$$2 \le n \le 5000$$$; $$$n-1 \le m \le 5000$$$; $$$1 \le p \le n$$$) — количество домов, количество кабелей и количество домов, которым нужен интернет.
Вторая строка каждого набора входных данных содержит $$$p$$$ целых чисел $$$s_1, s_2, \ldots, s_p$$$ ($$$1 \le s_i \le n$$$) — номера домов, которым нужен интернет. Гарантируется, что все элементы $$$s$$$ различны.
В $$$i$$$-й из следующих $$$m$$$ строк каждого набора входных данных содержатся три целых числа $$$u_i$$$, $$$v_i$$$ и $$$w_i$$$ ($$$1 \le u_i < v_i \le n$$$; $$$1 \le w_i \le 10^9$$$) — интернет-кабель, соединяющий дом $$$u_i$$$ и дом $$$v_i$$$ с задержкой $$$w_i$$$. Гарантируется, что заданные ребра образуют простой связный граф.
Гарантируется, что сумма $$$n$$$ и сумма $$$m$$$ не превосходят $$$5000$$$.
Для каждого набора входных данных выведите $$$n$$$ целых чисел: минимальное общее время ожидания, которое может быть достигнуто для всех домов, нуждающихся в интернете для каждого $$$k = 1,2,\ldots,n$$$.
29 8 52 5 6 8 91 2 11 3 23 4 104 5 34 6 51 7 107 8 47 9 23 3 23 11 2 12 3 31 3 2
34 19 9 4 0 0 0 0 0 2 0 0
В первом наборе входных данных для $$$k=3$$$ одним из лучших решений является установка серверов в вершинах $$$2$$$, $$$6$$$ и $$$8$$$ и получение следующей задержки:
Таким образом, общая задержка составит $$$9$$$.
Название |
---|