코드는 아래에 있습니다.
우선 다른 문자열에 포함이 되는 문자열을 삭제한뒤
모든 문자열 순서쌍 A,B에 대해
A의 접미사와 B의 접두사가 공통되는 최대 길이를 구하는 함수LCP(A,B) 를 A노드에서 B노드로 가는 가중치로 보아
방향그래프를 만든뒤 TSP 문제를 dp로 풀었습니다.(겹치는 길이의 합이 최대가 되도록 모든 문자열을 붙이는것, 즉 최대한 많은 겹치는 문자를 만들어야하므로) (LCP라는 함수명은 그냥 무시해 주세요..)
dp로 최대값을 구한뒤 trace라는 함수로 다시 실제 순서를 구했고
그것을 바탕으로 문자열을 이어붙여 최종답을 만들어냈습니다.
예제는 모두 잘나오는데 어디서 WA가 나는지 찾을수가없어서 질문드립니다.
sgc109
코드는 아래에 있습니다.
우선 다른 문자열에 포함이 되는 문자열을 삭제한뒤
모든 문자열 순서쌍 A,B에 대해
A의 접미사와 B의 접두사가 공통되는 최대 길이를 구하는 함수LCP(A,B) 를 A노드에서 B노드로 가는 가중치로 보아
방향그래프를 만든뒤 TSP 문제를 dp로 풀었습니다.(겹치는 길이의 합이 최대가 되도록 모든 문자열을 붙이는것, 즉 최대한 많은 겹치는 문자를 만들어야하므로) (LCP라는 함수명은 그냥 무시해 주세요..)
dp로 최대값을 구한뒤 trace라는 함수로 다시 실제 순서를 구했고
그것을 바탕으로 문자열을 이어붙여 최종답을 만들어냈습니다.
예제는 모두 잘나오는데 어디서 WA가 나는지 찾을수가없어서 질문드립니다.
8년 전