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

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

LCS 길이가 n-1인 문자열 개수

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

요약
길이 n인 문자열 S와 처음 m개 소문자로 이루어진 길이 n 문자열 중, S와의 최장 공통 부분 수열 길이가 정확히 n-1인 문자열의 개수를 센다.
난이도

어려움10점 중 8점

유형
동적 계획법, 조합론, 문자열
정답자
아직 제출이 없습니다

문제

길이가 nn이고 알파벳 소문자 중 앞에서 mm개만 사용하는 문자열 SS가 주어진다.

길이가 nn이고 같은 mm개의 문자만 사용하는 문자열 TT 가운데, SS와 TT의 최장 공통 부분 수열(LCS) 길이가 정확히 n−1n-1인 것이 몇 개인지 구한다.

부분 수열은 원래 문자열에서 문자를 0개 이상 지우고 남은 문자를 순서대로 이어 붙인 문자열이다.

입력

첫째 줄에 문자열의 길이 nn과 사용하는 알파벳의 개수 mm이 공백을 사이에 두고 주어진다. (1≤n≤1000001 \le n \le 100000, 2≤m≤262 \le m \le 26)

둘째 줄에 문자열 SS가 주어진다. SS는 길이가 nn이고, a부터 시작하는 앞쪽 mm개의 알파벳 소문자만으로 이루어진다.

출력

조건을 만족하는 문자열의 개수를 한 줄에 출력한다.

예제4

  1. 예제 1

    입력
    3 3
    aaa
    
    예상 출력
    6
    
  2. 예제 2

    입력
    3 3
    aab
    
    예상 출력
    11
    
  3. 예제 3

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

    입력
    10 9
    abacadefgh
    
    예상 출력
    789