본문 바로가기
728x90

가장 긴 증가하는 부분 수열2

LIS (Longgest Increaseing Subsequence)에 대해 이것 저것 정리 글을 쓰게 된 이유 이번 글은 친구의 "이 문제 LIS로 풀어야 하는 거 아니야??"에서 시작되었습니다. 해당 문제를 보니까 2년 전에 풀이한 문제이더라고요... (그리고 LIS가 무슨 뜻인지도 까먹고 있었습니다.) 문제랑은 상관이 없는 알고리즘이었으나, LIS(가장 긴 부분 수열 구하기) 알고리즘을 다시 공부하면서 기존에 알고 있었던 dynamic programming 방식(O(N^2))과 이를 시간 복잡도 측면에서 이분 탐색을 가미해 개선한 방식(O(NlogN))을 정리해보려 합니다. LIS가 대체 무엇인가?? 먼저 LIS에 대해서 간단히 정리해야 될 것 같습니다. LIS는 Longgest Increasing Subsequence의 약자로, 가장 긴 증가하는 부분 수열을 의미합니다. 간단하게, 어떤 .. 2023. 8. 24.
BOJ - 14002번, 가장 긴 증가하는 부분 수열 4 문제, LIS 예제와 DP 풀이 이번에는 거의 1년을 묵혀놨다가 다시 한번 14002번 문제를 푼 과정을 정리해보려 합니다. 문제는 LIS(Longgest Increasing Subsequence) 문제 즉, 가장 긴 증가하는 부분 수열 문제 중 하나로 dp를 사용해서 쉽게 풀이할 수 있었습니다. 사실 지금에서야 쉬워진거지, 작년에는 생각나는 방법을 총 동원해도 계속 틀려서 포기했었습니다.. 14002번: 가장 긴 증가하는 부분 수열 4 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 문제 수열 A가 주어졌.. 2022. 12. 28.
728x90