2018. 1. 3. 16:37, 알고리즘/BOJ
https://www.acmicpc.net/problem/11055
D[i] : A[i]를 마지막으로 하는 증가 수열 중 가장 합이 큰 수열의 합
이라고 할 때
D[i] = max(D[j]+A[i]) for j = 0~i-1 s.t. satisfies A[j] < A[i] 입니다.
이렇게 하면 O(N^2)으로 풀 수 있습니다. 세그먼트 트리를 쓰면 O(NlgN)으로 풀 수 있습니다.
'알고리즘 > BOJ' 카테고리의 다른 글
[BOJ] 1922번: 네트워크 연결 (0) | 2018.01.03 |
---|---|
[BOJ] 1520번: 내리막 길 (0) | 2018.01.03 |
[BOJ] 2805번: EKO (0) | 2018.01.03 |
[BOJ] 1987번: 알파벳 (0) | 2018.01.03 |
[BOJ] 1927번: 최소 힙 (0) | 2018.01.03 |
[BOJ] 1789번: 수들의 합 (0) | 2018.01.03 |
Comments