BOJ 2401 - 최대 문자열 붙여넣기

문제 : https://www.acmicpc.net/problem/2401

각각의 짧은 문자열들이 긴 문자열에서 어디에 등장하는지만 알 수 있다면, 이 문제는 전형적인 다이나믹 프로그래밍 문제가 된다. 그러니깐 KMP를 돌리면서 테이블을 채우면 된다.
시간 복잡도는 긴 문자열 길이 $S$, 짧은 문자열 길이 $T$, 짧은 문자열의 수 $N$이라 할때 $O(N * (S + T))$가 된다.

코드 : http://ideone.com/zloOUb

댓글

이 블로그의 인기 게시물

BOJ 11478 - 서로 다른 부분 문자열의 개수

파이썬 재귀 최대깊이 지정 sys.setrecursionlimit( limit )