백준 알고리즘 기초 - 다이나믹 프로그래밍 (연습)
dp가 정말 풀 것 같으면서도 잘 안 풀린다. 계속 고민하다가.. 해답 보고 실소 짓고 풀고.. 또 고민하다가.. 해답 보고 실소 짓고 풀고.. 반복.. 감각을 키우는 것 외에는 답이 없는 것 같다. 그래도 어느정도는 감을 잡은듯 싶다. 하지만 또 뒤돌면 못 풀 것 같은 녀석이다. 푼 것들 정리 해보자 - * 1, 2, 3 더하기 3 (low): 하던 것처럼 맨 끝을 나눠서 생각해보자 15988번: 1, 2, 3 더하기 3 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 1,000,000,009로 나눈 나머지를 출력한다. www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2..
백준 알고리즘 기초 - 다이나믹 프로그래밍 (예제2)
어렵다.. dp.. 근데 중요한 건.. 더 어려운 놈들이.. 기다리고 있다는 것... 생각보다 시간이 더 걸릴 것 같다.. 그만큼 확실하게 짚고 넘어가자..! 예제2 정리 시작! - * 가장 긴 증가하는 부분 수열(mid): LIS라고도 불리는 유명한 문제다. 기억해뒀다가 필요할 때 써먹자. 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21..