만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

신촌 도로망 관리와 쿼리

시간 제한2.5초메모리 제한1024 MB

요약
간선마다 다섯 학교 중 하나가 관리하는 연결 그래프가 주어집니다. 각 질의의 학교별 새 요금으로 최소 신장 트리의 총비용을 구합니다.
난이도

보통10점 중 7점

유형
최소 신장 트리, 유니온 파인드, 그래프
정답자
아직 제출이 없습니다

문제

2025년, 신촌의 다섯 대학교인 서강대, 숙명여대, 연세대, 이화여대, 홍익대는 신촌 안을 원활하게 통행할 수 있도록 도로망을 구축하고 관리하기로 했다.

신촌은 NN개의 정점으로 이루어져 있고, 서로 다른 두 정점을 잇는 방향 없는 도로가 MM개 건설되어 있다. 두 정점을 직접 잇는 도로는 최대 한 개만 있으며, 어떤 두 정점을 선택하더라도 그 사이를 잇는 경로가 존재한다.

각 도로는 다섯 학교 중 한 곳이 담당하여 관리한다. 도로를 관리하려면 매년 관리비가 든다. 관리비는 관리하는 학교에 따라 정해지므로, 같은 학교가 관리하는 도로의 관리비는 모두 같다.

2125년부터 학교마다 예산이 부족해져 관리비가 해마다 바뀌게 되었다. 그래서 다섯 학교는 어떤 두 정점을 선택하더라도 관리된 도로만 사용해 그 두 정점을 잇는 경로가 존재하도록 도로를 관리하고, 나머지 도로는 한 해 동안 관리하지 않기로 합의했다. 매년 각 학교의 새 관리비가 주어지면, 합의한 대로 도로를 관리하기 위한 관리비 합의 최솟값을 구해야 한다.

입력

첫 번째 줄에 정점의 개수 NN, 도로의 개수 MM, 관리비가 바뀌는 횟수 QQ가 공백으로 구분되어 주어진다. (1≤N≤5×104;(1 \le N \le 5 \times 10^4; N−1≤M≤105;N-1 \le M \le 10^5; 1≤Q≤2×104)1 \le Q \le 2 \times 10^4)

두 번째 줄부터 MM개의 줄에 걸쳐 도로 정보가 주어진다. ii번째 줄에는 도로 ii가 잇는 두 정점 uiu_i, viv_i와 그 도로를 관리하는 학교를 나타내는 문자 ziz_i가 공백으로 구분되어 주어진다. (1≤ui,vi≤N;(1 \le u_i, v_i \le N; ui≠vi;u_i \neq v_i; zi∈{A,B,C,D,E})z_i \in \{A, B, C, D, E\}) A, B, C, D, E는 각각 서강대, 숙명여대, 연세대, 이화여대, 홍익대를 가리킨다.

M+2M+2번째 줄부터 QQ개의 줄에 걸쳐 새로 정해진 학교별 관리비 aja_j, bjb_j, cjc_j, djd_j, eje_j가 공백으로 구분되어 주어진다. 순서는 위의 다섯 학교 순서와 같다. (0≤aj,bj,cj,dj,ej≤107)(0 \le a_j, b_j, c_j, d_j, e_j \le 10^7)

출력

관리비가 QQ번 바뀔 때마다, 관리비를 변경한 뒤의 관리비 합의 최솟값을 새로운 줄에 출력해야 한다.

예제1

  1. 예제 1

    입력
    6 9 3
    1 2 E
    1 3 C
    2 3 A
    3 6 D
    2 4 B
    2 5 D
    3 5 B
    4 5 C
    5 6 A
    10 3 4 9 8
    2 4 4 2 1
    0 2 0 2 4
    
    예상 출력
    23
    11
    2