我是靠谱客的博主 坦率橘子,这篇文章主要介绍洛谷P1855————背包,现在分享给大家,希望可以做个参考。

题解:本题主要考查01背包的变形问题,主要是这是有两个01背包一个装money,一个装time。用多一维就可以按模板打了。
代码如下:

#include<iostream>
#include<algorithm>
using namespace std;
int money[2222],tim[2222],dp[2222][2222];
int n,m,t,i,j,k;
int main()
{
cin>>n>>m>>t;
for(i=1;i<=n;i++)cin>>money[i]>>tim[i];
for(i=1;i<=n;i++)
for(j=m;j>=money[i];j--)
for(k=t;k>=tim[i];k--)
dp[j][k]=max(dp[j][k],dp[j-money[i]][k-tim[i]]+1);
cout<<dp[m][t];
return 0;
}

最后

以上就是坦率橘子最近收集整理的关于洛谷P1855————背包的全部内容,更多相关洛谷P1855————背包内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(101)

评论列表共有 0 条评论

立即
投稿
返回
顶部