萌新求助!!!
查看原帖
萌新求助!!!
240089
zhangyihan楼主2021/11/12 11:44
	for(int i=1;i<=n;i++){
		for(int j=m;j>=x[i];j--){
			dp[j][0]=max(dp[j][0],dp[j-x[i]][0]+a[i]);
			ans=max(ans,dp[j][0]);
		}
	}
	for(int p=1;p<=n;p++){
		for(int i=m;i>=x[p];i--){
			for(int j=min(p,k);j>0;j--){
				dp[i][j]=max(dp[i][j],max(dp[i-x[p]][j]+a[p],dp[i-x[p]][j-1]+a[p]*2));
				ans=max(dp[i][j],ans);
			}
		}
	}
	printf("%d",ans);
for(int p=1;p<=n;p++){
		for(int i=m;i>=x[p];i--){
			for(int j=min(p,k);j>0;j--){
				dp[i][j]=max(dp[i][j],max(dp[i-x[p]][j]+a[p],dp[i-x[p]][j-1]+a[p]*2));
				ans=max(dp[i][j],ans);
			}
			dp[i][0]=max(dp[i][0],dp[i-x[p]][0]+a[p]),ans=max(ans,dp[i][0]);
		}
	}

请问:这样两段代码的区别是什么呀

2021/11/12 11:44
加载中...