Logo
(追記) (追記ここまで)

21552번 - Блогеры-путешественники 서브태스크다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
3 초 1024 MB91181626.230%

문제

Ян и Татьяна решили стать блогерами-путешественниками и публиковать ролики о поездках по городам своей страны.

В стране есть $n$ городов, пронумерованных от 1ドル$ до $n$. Город 1ドル$ --- столица их страны. Города соединены $m$ двусторонними дорогами, пронумерованными от 1ドル$ до $m,ドル каждая из которых соединяет два различных города. При этом одну и ту же пару городов могут соединять несколько различных дорог. Из любого города по дорогам можно доехать до любого другого города страны.

Путешественники планируют отправиться из столицы в какой-то другой город, но пока не выбрали в какой. Маршрут путешествия в город $k$ будет состоять из городов $s_1, s_2, \ldots, s_q$ и дорог $r_1, r_2, \ldots, r_{q - 1},ドル таких что:

  • $s_1 = 1,ドル $s_q = k$;
  • дорога $r_i$ соединяет города $s_i$ и $s_{i+1}$;
  • ребята не проезжают по одной и той же дороге дважды, поэтому все $r_i$ различны. Допускается проезжать несколько раз через один и тот же город, в том числе через город 1ドル,ドル где путешествие начинается, и город $k,ドル в котором путешествие заканчивается.

Для каждой дороги Ян и Татьяна посчитали длительность ролика, который получится при съемке путешествия по этой дороге, длительность ролика для дороги с номером $i$ равна $t_i$.

В процессе путешествия каждый из ребят выберет одну из дорог маршрута и снимет ролик, посвящённый этой дороге. При этом Ян любит снимать короткие ролики, поэтому выберет на маршруте дорогу с наименьшим значением $t_i,ドル а Татьяна предпочитает длинные ролики, поэтому выберет дорогу с наибольшим значением $t_i$.

Суммарная длина двух роликов будет равна $\min\limits_{1 \leq i \leq q - 1} t_{r_i} + \max\limits_{1 \leq i \leq q - 1} t_{r_i}$.

Ребята планируют выложить ролики на известную платформу, где большей популярностью пользуются короткие ролики, поэтому они хотят минимизировать суммарную длину двух роликов. Чтобы выбрать конечный город и маршрут для путешествия, блогеры хотят для каждого конечного города $k$ подсчитать минимальную по всем возможным маршрутам из города 1ドル$ в город $k$ суммарную длину двух роликов.

입력

В первой строке даны два целых числа $n,ドル $m$ (2ドル \leq n \leq 300,000円,ドル 1ドル \leq m \leq 300,000円$) --- количество городов и дорог.

Следующие $m$ строк содержат описания дорог. В $i$-й из этих строк находятся три целых числа $u_i,ドル $v_i,ドル $t_i$ (1ドル \leq u_i, v_i \leq n,ドル $u_i \neq v_i,ドル 0ドル \leq t_i \leq 10^9$) --- номера городов, соединённых дорогой, и длительность ролика про эту дорогу.

Гарантируется, что по имеющимся дорогам можно проехать из любого города в любой другой, возможно, через другие города.

출력

Для каждого 2ドル \leq k \leq n$ выведите минимальную суммарную длину роликов Яна и Татьяны для путешествия, заканчивающегося в городе $k$.

제한

서브태스크

번호배점제한
19

$n \leq 300,000円,ドル $m \leq 300,000円,ドル $m = n - 1$

217

$n \leq 300,000円,ドル $m \leq 300,000円,ドル $t_i = 0$ для всех дорог $i$ из города 1ドル$

312

$n \leq 300,000円,ドル $m \leq 300,000円,ドル $t_i = 10^9$ для всех дорог $i$ из города 1ドル$

49

$n \leq 10,ドル $m \leq 10,ドル каждая пара городов соединена не более чем одной дорогой

56

$n \leq 20,ドル $m \leq 20,ドル каждая пара городов соединена не более чем одной дорогой

66

$n \leq 2000,ドル $m \leq 2000,ドル $|u_i - v_i| = 1$ для всех дорог

79

$n \leq 2000,ドル $m \leq 2000$

88

$n \leq 5000,ドル $m \leq 300,000円$

910

$n \leq 300,000円,ドル $m \leq 300,000円,ドル для всех $a$ существует дорога между парой городов $a$ и $a+1$; для любой пары дорог $i$ и $j,ドル для которых $|u_i - v_i| = 1$ и $|u_j - v_j| > 1$ выполнено $t_i \le t_j$

1014

$n \leq 300,000円,ドル $m \leq 300,000円$

예제 입력 1

3 3
1 2 2
1 3 1
2 3 1

예제 출력 1

2
2

예제 입력 2

7 10
1 2 2
1 2 8
2 3 3
3 4 5
3 5 4
4 5 4
6 5 7
6 4 4
1 7 6
6 7 9

예제 출력 2

4
5
6
6
6
10

예제 입력 3

4 4
1 2 2
3 2 0
2 4 3
4 3 1

예제 출력 3

3
2
2

힌트

В первом примере возможные оптимальные маршруты:

  • 1ドル \overset{t = 1}{\to} 3 \overset{t = 1}{\to} 2$. Длина роликов в маршруте 1ドル + 1 = 2$.
  • 1ドル \overset{t = 1}{\to} 3$. Длина роликов в маршруте 1ドル + 1 = 2$.

Во втором примере возможные оптимальные маршруты:

  • 1ドル \overset{t = 2}{\to} 2$. Длина роликов в маршруте 2ドル + 2 = 4$.
  • 1ドル \overset{t = 2}{\to} 2 \overset{t = 3}{\to} 3$. Длина роликов в маршруте 2ドル + 3 = 5$.
  • 1ドル \overset{t = 2}{\to} 2 \overset{t = 3}{\to} 3 \overset{t = 4}{\to} 5 \overset{t = 4}{\to} 4$. Длина роликов в маршруте 2ドル + 4 = 6$.
  • 1ドル \overset{t = 2}{\to} 2 \overset{t = 3}{\to} 3 \overset{t = 4}{\to} 5$. Длина роликов в маршруте 2ドル + 4 = 6$.
  • 1ドル \overset{t = 2}{\to} 2 \overset{t = 3}{\to} 3 \overset{t = 4}{\to} 5 \overset{t = 4}{\to} 4 \overset{t = 4}{\to} 6$. Длина роликов в маршруте 2ドル + 4 = 6$.
  • 1ドル \overset{t = 2}{\to} 2 \overset{t = 8}{\to} 1 \overset{t = 6}{\to} 7$. Длина роликов в маршруте 2ドル + 8 = 10$.

В третьем примере возможные оптимальные маршруты:

  • 1ドル \overset{t = 2}{\to} 2 \overset{t = 0}{\to} 3 \overset{t = 1}{\to} 4 \overset{t = 3}{\to} 2$. Длина роликов в маршруте 0ドル + 3 = 3$.
  • 1ドル \overset{t = 2}{\to} 2 \overset{t = 0}{\to} 3$. Длина роликов в маршруте 0ドル + 2 = 2$.
  • 1ドル \overset{t = 2}{\to} 2 \overset{t = 0}{\to} 3 \overset{t = 1}{\to} 4$. Длина роликов в маршруте 0ドル + 2 = 2$.

출처

Olympiad > Russian Olympiad in Informatics > Russian Olympiad in Informatics 2021 8번

채점 및 기타 정보

  • 예제는 채점하지 않는다.
(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /