1 条题解

  • 0
    @ 2025-11-12 22:03:53

    这道题目是非常简单的DP,不明白为什么有人做错。

    #include<bits/stdc++.h>
    using namespace std;
    int n,dp[201],money[201][201];
    int minn(int x){
    	int mm=1000001;
    	for(int i=x-1;i>=1;i--){
    		mm=min(mm,dp[i]+money[i][x-i]);
    	}
    	return mm;
    }
    int main(){
    	cin>>n;
    	for(int i=1;i<=n;i++){
    		for(int j=1;j<=n-i;j++){
    			cin>>money[i][j];
    		}
    	}
    	dp[1]=0;
    	for(int i=2;i<=n;i++){
    		dp[i]=minn(i);
    	}
    	cout<<dp[n];
    	return 0;
    }
    

    注:此代码仅适用于数据较小的题目(如本题)。

    • 1

    信息

    ID
    2821
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    递交数
    90
    已通过
    19
    上传者