题解 | 榨取kkksc03
2025-12-19 17:03:22
发布于:浙江
1阅读
0回复
0点赞
666演都不演了,我居然能在acgo题库做到隔壁lg的题
说白了这就是个背包动态规划
代码:
#include<bits/stdc++.h>
using namespace std;
long long n,m,t,ans=0,dp[205][205]/*205不会越界,我就是越界了拿了RE(哭*/;
int main(){
cin>>n>>m>>t;
while(n--){//用for循环也行,但n在这题后头基本没啥用
long long m1,t1;
cin>>m1>>t1;
for(long long i=m;i>=m1;i--){
for(long long j=t;j>=t1;j--){
if(dp[i-m1][j-t1]+1>dp[i][j]){//动规
dp[i][j]=dp[i-m1][j-t1]+1;
}
}
}
}
for(long long i=1;i<=m;i++){
for (long long j=1;j<=t;j++){
if(dp[i][j]>ans){
ans=dp[i][j];//比原答案更大就更新,这里可以用max,看个人喜好
}
}
}
cout<<ans<<endl;
return 0;
}
这里空空如也







有帮助,赞一个