dp资源分配问题

时间:2023-03-08 20:27:48

noip考试中dp中的资源分配问题是一大重点(不定时更新)

以下是一些例题

1.乘积最大

//Gang
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#define ll long long
using namespace std;
,maxm=;
char s[maxn];//f[i][j]表示前i个数有j个乘号的最大值
;
int main()
{
    cin>>n>>m;
    ; i<=n; i++)cin>>s[i];
    ; i<=n; i++)
        for(int j=i; j<=n; j++)
            for(int k=i; k<=j; k++)
                a[i][j]=a[i][j]*+(s[k]-');
    ; i<=n; i++)
    f[i][]=a[][i];
    ; i<=n; i++)
        ; j<=m; j++)
            ; k<i; k++)
            {
                f[i][j]=max(f[i][j],f[k][j-]*a[k+][i]);
            }
    cout<<f[n][m];
    ;
}