1 条题解

  • 0
    @ 2025-8-5 15:25:25
    #include<bits/stdc++.h>
    using namespace std;
    int T,n,a[205],b[205],dp[205][205],sum[205];
    int main(){
    	cin>>T;
    	for(int ncase=1;ncase<=T;ncase++){
    		cin>>n;
    		memset(dp,0,sizeof(dp));
    		for(int i=1;i<=n;i++){
    			cin>>a[i];
    		}
    		for(int i=1;i<=n;i++){
    			cin>>b[i];
    		}
    		for(int i=1;i<=n;i++){
    			sum[i]=sum[i-1]+a[i];
    		}
    		for(int len=1;len<=n;len++){
    			for(int i=1;i+len-1<=n;i++){
    				int j=i+len-1;
    				dp[i][j]=0x3f3f3f3f;
    				for(int k=i;k<=j;k++){
                        dp[i][j]=min(dp[i][j],dp[i][k-1]+dp[k+1][j]+a[k]+b[i-1]+b[j+1]);
    				}
    			}
    		}
    		cout<<"Case #"<<ncase<<": "<<dp[1][n]<<endl;
    	}
    	return 0;
    }
    
    • 1

    信息

    ID
    2797
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    递交数
    117
    已通过
    28
    上传者