만드는 중입니다

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

정사각형 그래프

시간 제한5초메모리 제한256 MB

요약
수열과 길이 k별 가중치가 주어질 때, 두 절반이 같은 연속 구간(제곱 구조)으로 만든 그래프의 최소 신장 숲 가중치 합을 구합니다.
난이도

어려움10점 중 8점

유형
문자열 매칭, 유니온 파인드, 그리디, 정렬
정답자
아직 제출이 없습니다

문제

엘리펀트 교수에게 수열 a_1,a_2,…,a_na\_1, a\_2, \ldots, a\_n이 있다. 그는 이 수열로 정점 번호가 1,2,…,n1, 2, \ldots, n인 무방향 그래프 GG를 만들었다.

길이가 짝수인 연속 부분 수열 a_l,a_l+1,…,a_l+2k−1a\_l, a\_{l + 1}, \ldots, a\_{l + 2 k - 1}마다, 모든 i=1,2,…,ki = 1, 2, \ldots, k에 대해 a_l+i−1=a_l+k+i−1a\_{l + i - 1} = a\_{l + k + i - 1}이 성립하는지 확인한다. 성립하면 엘리펀트 교수는 GG에 간선 kk개를 추가한다. ii번째 간선은 정점 (l+i−1)(l + i - 1)과 (l+k+i−1)(l + k + i - 1)을 잇고, 가중치는 w_kw\_k이다.

엘리펀트 교수는 GG의 최소 스패닝 포레스트의 총 가중치를 알고 싶어 한다.

입력

여러 테스트 케이스가 주어진다. 첫 줄에 테스트 케이스 수 TT가 주어진다. 각 테스트 케이스는 다음과 같다.

첫 줄에 정수 nn (2≤n≤3×1052 \leq n \leq 3 \times 10^5)이 주어진다.

둘째 줄에 정수 a_1,a_2,…,a_na\_1, a\_2, \ldots, a\_n (1≤a_i≤n1 \leq a\_i \leq n)이 주어진다.

셋째 줄에 정수 w_1,w_2,…,w_⌊n2⌋w\_1, w\_2, \ldots, w\_{\lfloor\frac{n}{2}\rfloor} (1≤w_i≤1091 \leq w\_i \leq 10^9)이 주어진다.

모든 테스트 케이스의 nn 합은 3×1053 \times 10^5을 넘지 않는다.

출력

각 테스트 케이스마다 GG의 최소 스패닝 포레스트 총 가중치를 정수 하나로 출력한다.

예제1

  1. 예제 1

    입력
    1
    8
    2 2 5 6 2 5 6 2
    5 1 4 4
    
    예상 출력
    21