[計蒜客]dp
阿新 • • 發佈:2021-01-10
今天acwing裡有個題,我還是還以為是完全二叉樹,結果我隊內dalao一說,原來是線性dp,剛好又是計蒜客的題,那就正好補一下計蒜客的題吧。
撿水果
#include <bits/stdc++.h> using namespace std; int a[1004][1003]; int dp[1003][1004]; int n; int main() { cin >> n; for(int i = 1; i <= n ; i++){ for(int j = 1 ;j <= i ; j++){ cin >> a[i][j]; } } for(int i = 1; i <= n ; i++){ for(int j =1; j <= i ; j ++){ dp[i][j] = max( dp[i - 1][j] , dp[i - 1][j - 1] ) + a[i][j]; } } int ans = 0; for(int i = 1; i <= n ; i ++){ if( dp[n][i] > ans ){ ans = dp[n][i]; } } for(int i = 1; i <= n ; i++){ for(int j =1; j <= i ; j ++){ cout << dp[i][j] << ' '; } cout << endl; } cout << ans <<endl; return 0; }