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]; ; }