HACK数据前两个没过
  • 板块P1717 钓鱼
  • 楼主xzy_AK_IOI
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/12/1 10:02
  • 上次更新2024/12/1 12:13:15
查看原帖
HACK数据前两个没过
1183074
xzy_AK_IOI楼主2024/12/1 10:02

O(n2h2)dpO(n^2h^2)dp代码

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=2e3+10;
#define F(i,k,n) for (int i=k;i<=n;i++)
int dp[N][N];
int t[N];
int sum[N];
int f[N];
int d[N];
int n,h;
signed main(){ 
	cin>>n>>h;
	h*=12;
	F(i,1,n) cin>>f[i];
	F(i,1,n) cin>>d[i];
	F(i,1,n-1){
		cin>>t[i];
		sum[i+1]=sum[i]+t[i];
	}
	int maxn=-1;
	memset(dp,-0x3f,sizeof(dp));
	F(i,1,n){
		F(j,1,h){
			int l=j-sum[i];
			dp[i][j]=l*f[i]-(l*(l-1))/2*d[i];
			F(k,1,i-1){
				F(p,0,j-sum[i]+sum[k]){
					int l=j-p-sum[i]+sum[k];
					dp[i][j]=max(dp[i][j],dp[k][p]+l*f[i]-((l*(l-1))/2*d[i]));
				}
			}
			maxn=max(maxn,dp[i][j]);
		}
	}
	cout<<maxn;
	return 0;
}
2024/12/1 10:02
加载中...