만드는 중입니다

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

트랙터 경로

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

요약
구간 N개가 주어질 때, 두 트랙터 a, b 사이 최단 경로의 길이와 그 최단 경로 위에 놓인 특수 트랙터의 개수를 구합니다.
난이도

어려움10점 중 8점

유형
그래프, 최단 경로, 동적 계획법
정답자
아직 제출이 없습니다

문제

Farmer John에게는 트랙터가 NN대 (2≤N≤2⋅1052\le N\le 2\cdot 10^5) 있다. ii번째 트랙터는 닫힌 구간 [ℓi,ri][\ell_i, r_i] 안에서만 사용할 수 있다. 왼쪽 끝점은 ℓ1<ℓ2<⋯<ℓN\ell_1<\ell_2<\dots<\ell_N 순으로 주어지고, 오른쪽 끝점은 r1<r2<⋯<rNr_1<r_2<\dots<r_N 순으로 주어진다. 트랙터 중 일부는 특별하다. 두 트랙터 ii와 jj의 구간 [ℓi,ri][\ell_i, r_i]와 [ℓj,rj][\ell_j, r_j]가 겹치면 두 트랙터는 인접한다고 한다. Farmer John은 한 트랙터에서 인접한 트랙터 중 아무 것으로나 옮겨 탈 수 있다. 트랙터 aa에서 bb까지의 경로는 aa에서 시작해 bb에서 끝나며, 연속한 두 트랙터가 모두 인접하는 환승의 나열이다. 트랙터 1에서 트랙터 NN까지 가는 경로가 존재함이 보장된다. 경로의 길이는 환승 횟수이며, 경로에 포함된 트랙터 수에서 1을 뺀 값과 같다. QQ개 (1≤Q≤2⋅1051\le Q\le 2\cdot 10^5)의 질의가 주어진다. 각 질의는 트랙터 한 쌍 aa, bb (1≤a<b≤N1\le a<b\le N)를 지정한다.

입력

첫 줄에 NN과 QQ가 주어진다. 다음 줄에는 정렬된 순서대로 왼쪽 끝점과 오른쪽 끝점을 나타내는 길이 2N2N의 L과 R 문자열이 주어진다. 이 문자열의 모든 진접두사에서 L의 개수가 R의 개수보다 많다는 것이 보장된다. 그다음 줄에는 길이 NN의 비트 문자열이 주어지며, 각 트랙터가 특별한지 여부를 나타낸다. 이어서 QQ개의 줄에 각각 질의를 나타내는 두 정수 aa, bb가 주어진다.

출력

각 질의마다 공백으로 구분한 두 정수를 출력한다. 첫 번째 값은 트랙터 aa에서 bb까지 가는 최단 경로 중 아무 것의 길이다. 두 번째 값은 트랙터 aa에서 bb까지의 최단 경로 중 하나 이상이 지나는 특별한 트랙터의 개수다.

힌트

트랙터 구간은 순서대로 [1,5][1, 5], [2,10][2, 10], [3,11][3, 11], [4,12][4, 12], [6,13][6, 13], [7,14][7, 14], [8,15][8, 15], [9,16][9, 16]이다. 네 번째 질의에서 트랙터 1에서 5까지의 최단 경로는 세 개다. 1에서 2를 거쳐 5로 가는 경로, 1에서 3을 거쳐 5로 가는 경로, 1에서 4를 거쳐 5로 가는 경로이며, 모두 길이는 2다. 트랙터 1, 2, 3, 4, 5는 모두 이 세 최단 경로 중 하나에 속한다. 트랙터 1, 2, 4, 5가 특별하므로, 트랙터 1에서 5까지의 최단 경로 중 하나 이상에 속하는 특별한 트랙터는 4개다.

예제1

  1. 예제 1

    입력
    8 10
    LLLLRLLLLRRRRRRR
    11011010
    1 2
    1 3
    1 4
    1 5
    1 6
    1 7
    1 8
    2 3
    2 4
    2 5
    
    예상 출력
    1 2
    1 1
    1 2
    2 4
    2 3
    2 4
    2 3
    1 1
    1 2
    1 2