O(n^3)做法(无单调队列优化) #3#4#5WA求助
查看原帖
O(n^3)做法(无单调队列优化) #3#4#5WA求助
167875
137QWQ楼主2022/8/27 12:12
#include<bits/stdc++.h>
using namespace std;
const int N=2010;
const int inf=(1<<31)-1;
int t,maxp,w;
int dp[N][N];
int main()
{
	cin>>t>>maxp>>w;
    memset(dp[0]+1,0x80,sizeof(dp[0]));
    int ap,bp,as,bs;
    for(int i=1;i<=t;i++)
    {
        cin>>ap>>bp>>as>>bs;
        for(int j=0;j<=maxp;j++)
        {
            dp[i][j]=dp[i-1][j];
            for(int k=j-as;k<j;k++)
            {
                dp[i][j]=max(dp[i][j],dp[max(0,i-w-1)][k]-(j-k)*ap);
            }
            //cout<<dp[i][j]<<" ";
            for(int k=min(j+bs,maxp);k>j;k--)
            {
                dp[i][j]=max(dp[i][j],dp[max(0,i-w-1)][k]+(k-j)*bp);
            }
            //cout<<dp[i][j]<<" ";
        }
        //cout<<endl;
    }
    cout<<dp[t][0];
}
2022/8/27 12:12
加载中...