N을 받은 배열의 길이라하고, a를 받은 N 길이의 배열이라고할때
n 을 N-1에서부터 0까지 흩어가면서
각 a[n]에 대해서 거기서부터 시작한 부분수열의 최대합을 dp[n]에 저장합니다.
구체적으로 저장하는 방법은,
a[n] 에 대해서 그 이후 즉, i = n+1 ~ N-1 까지에 대해서
현재최댓값에 a[n]을 저장한후,
a[i] > a[n] 이면 a[n] + dp[i] 와 현재 최댓값중 더 큰값을,
a[i] <= a[n] 이면 dp[i] 와 현재 최댓값 중 더 큰값을 dp[n]에 저장하는 함수입니다.
틀린이유를 진짜 모르겠습니다 살려주세요 ㅠㅠ
아래 코드입니다,
네임이랑 메인이 같을수가 없지않나
돌아가는 코드인데 저건 그냥 저게 main코드면 실행하라는 구문이고 알고리즘 적으로 뭐가 틀린건지 모르겠다 답ㅇ ㅣ틀렸다고 나오는데
변수도 아니고
너 문제 설명 ㅈㄴ 못하네
문제는 백준11055야
https://www.acmicpc.net/problem/11055
Dp(i)라는 함수를 f(i)라고 선언하지 않고 그냥 바로 선언하면 안됨?
dp는 배열인데 저기 값이 있어야 의미있어 다이내믹프로그래밍 공부하구봐
Def f(n)이라는게 뭔가 이상한데;;