Longest Decreasing Subarray
맞은 문제 다른 풀이방법 복기
가장 긴 (감소하는 부분수열) = 가장 긴 (뒤에서부터 증가하는 부분수열)
A[ i ] 뒤에 A[ j ]가 있고 i < j, A[ i ] > A[ j ]일 때 뒤에서부터 증가하는 부분수열의 길이를 구하면 된다.
for (int i=n; i>=1; i--) {
d[i] = 1;
for (int j=i+1; j<=n; j++) {
if (a[i] > a[j] && d[i] < d[j]+1) {
d[i] = d[j]+1;
}
}
}
Last updated
Was this helpful?