绝对没坑*2

heyucheng 2023-10-04 14:14:24 13 返回题目

#include<bits/stdc++.h>
using namespace std;
const int N=1000+5,W=30+5;
int a[N],dp[N][W],val;
int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int t,w;
	cin>>t>>w;
	for(int i=1;i<=t;i++){
		cin>>a[i];
	}
	for(int i=0;i<=t;i++){
		for(int j=0;j<=w;j++){
			dp[i][j]=-0x3f3f3f3f;
		}
	}
	dp[0][0]=0;
	for(int i=1;i<=t;i++){
		for(int j=0;j<=w&&j<=i;j++){
			if(j%2+1==a[i]){
				val=1;
			}
			else{
				val=0;
			}
			dp[i][j]=dp[i-1][j]+val;
			if(j>=1){
				dp[i][j]=max(dp[i][j],dp[i-1][j-1]+val);
			}
		}
	}
	int ans=0;
	for(int j=0;j<=w;j++){
		ans=max(ans,dp[t][j]);
	}
	cout<<ans<<endl;
	return 0;
}

时隔2年和一半,补齐DP与记搜
{{ vote && vote.total.up }}

共 4 条回复

jinpeiyu

ddd

fanzs

ccc

X-louhaocheng

bbb

heyucheng

aaa