• [计蒜客]dp


    今天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;
    }
    
    
  • 相关阅读:
    kioptrix-1
    4.4 CSRF
    upload-labs 练习笔记
    4.3 XSS
    外国人是怎样读编程书的呢?
    如何快速学习新语言
    Go开发环境配置
    Golang Package I
    MVC模式小结
    Flask基础知识
  • 原文地址:https://www.cnblogs.com/hoppz/p/14258818.html
Copyright © 2020-2023  润新知