본문 바로가기

알고리즘106

[백준] 7861번 : Longest Ordered Subsequence – JAVA [자바] https://www.acmicpc.net/problem/7861 7861번: Longest Ordered Subsequence A numeric sequence of ai is ordered if a1 ≤ a2 ≤ … ≤ aN. Let the subsequence of the given numeric sequence (a1, a2, …, aN) be any sequence (ai1, ai2, …, aiK), where 1 ≤ i1 < i2 < … < iK ≤ N. For example, the sequence (1, 7, 3, 5, 9, 4, www.acmicpc.net 문제 문제 풀이 백준 7861번 Longest Ordered Subsequence는 백준 11053번 가장 긴 증가하는 부분 수열이랑.. 2022. 4. 1.
[백준] 17216번 : 가장 큰 감소 부분 수열 – JAVA [자바] https://www.acmicpc.net/problem/17216 17216번: 가장 큰 감소 부분 수열 수열 A가 주어졌을 때, 그 수열의 감소 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {1, 100, 2, 50, 60, 8, 7, 3, 6, 5} 인 경우에 합이 가장 큰 감소 부분 수열 www.acmicpc.net 문제 문제 풀이 백준 17216번 가장 큰 감소 부분 수열은 DP, 그중에서도 특히 LIS를 이용해서 푸는 문제이다. LIS 이론을 공부하고 싶으면 밑에 있는 링크를 참고하면 되겠다. ※참고※ : https://propercoding.tistory.com/41 [알고리즘] LIS (최장 증가 부분 수열) 목차 LIS란? LIS는 Long.. 2022. 3. 31.
[백준] 11053번 : 가장 긴 증가하는 부분 수열 – JAVA [자바] https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 문제 문제 풀이 백준 11053번 가장 긴 증가하는 부분 수열은 DP 문제, 그중에서도 LIS를 이용해서 푸는 문제이다. LIS를 공부하고 싶으면 밑에 있는 링크를 참고하면 되겠다. ※참고※ https://propercoding.tistory.com/41 [알고리즘] LIS (최장 증가 부분 수열) 목차 LIS란? LI.. 2022. 3. 31.
[알고리즘] LIS (최장 증가 부분 수열) 목차 LIS란? LIS는 Longest Increasing Subsequence의 약자이다. 말 그대로 최장 증가 부분 수열, 또는 가장 긴 증가하는 부분 수열이라고 불린다. LIS는 주어진 수열에서 오름차순으로 정렬된 가장 긴 부분 수열을 찾는 알고리즘이다. 다만, 오름차순으로 정렬된 부분 수열이 연속적이거나, 유일할 필요는 없다. 풀이 방법으로는 DP를 활용한 방법과 이진 탐색을 활용한 방법이 있다. DP를 활용하면 조금 더 단순하지만 시간 복잡도가 O(n^2)이고 이진 탐색을 활용하면 조금 더 복잡하지만 시간 복잡도는 O(n logn)이다. 이번 글에서는 DP를 활용한 LIS만 살펴보도록 하겠다. LIS 접근 방법 & 예시 예시를 한번 보겠다. 수열 arr = {10, 20, 10, 30, 20, .. 2022. 3. 31.
반응형