아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

접미사 배열이 같은 문자열

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

요약
주어진 문자열에서 정확히 한 위치만 바꾸어 접미사 배열이 그대로 유지되는 문자열 개수를 구합니다.
난이도

어려움10점 중 9점

유형
문자열, 문자열 매칭, 정렬
정답자
아직 제출이 없습니다

문제

길이가 NN인 문자열이 있다. 이 문자열과 정확히 한 글자만 다르면서 접미사 배열(Suffix Array)은 같은 문자열이 몇 개인지 구하는 문제이다.

사용하는 문자는 MM종류이므로 각 문자를 11부터 MM까지의 자연수로 나타낸다. 수가 커지는 순서가 곧 사전순이다.

길이 NN인 문자열 SS의 접미사 배열은 SS의 접미사 NN개를 사전순으로 정렬한 다음, 각 접미사가 시작하는 위치를 순서대로 나열한 배열이다.

입력

첫째 줄에 NN과 MM이 공백으로 구분되어 주어진다 (1≤N,M≤500 0001 \le N, M \le 500\,000). NN은 문자열의 길이, MM은 사용하는 문자의 종류 수이다.

둘째 줄에 문자열의 각 문자를 나타내는 NN개의 자연수가 순서대로 공백으로 구분되어 주어진다. 각 수는 11 이상 MM 이하이다.

출력

입력으로 주어진 문자열과 정확히 한 글자만 다르면서 접미사 배열이 같은 문자열의 개수를 출력한다.

힌트

첫 번째 예제에서 조건을 만족하는 문자열은 2 1 하나뿐이다.

예제3

  1. 예제 1

    입력
    2 2
    1 1
    예상 출력
    1
  2. 예제 2

    입력
    5 3
    1 2 1 3 2
    예상 출력
    2
  3. 예제 3

    입력
    1 5
    3
    예상 출력
    4