1 条题解

  • 0
    @ 2025-8-24 21:31:07

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar 早右昕
    **

    搬运于2025-08-24 21:31:07,当前版本为作者最后更新于2017-08-26 20:53:40,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    ####其实这道题很简单的呀(题解 By Plue Jheng/InfoEoR)

    在完成这道题之前,首先要保证:

    • 1.了解并熟练掌握 0/1背包问题.

    • 2.对多维动规/多维背包问题有一定了解

    • 3.会C/C++/Pascal/中文

    那就很简单那!

    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    int n,M,T,dp[1010][1010];
    int m[1010],t[1010];
    int main()
    {
        scanf("%d%d%d",&n,&M,&T);
        for(int i=1;i<=n;i++)
        {
            //仅仅只是多了一维而已 
            scanf("%d%d",&m[i],&t[i]);
            for(int j=M;j>=m[i];j--)
            for(int k=T;k>=t[i];k--)
            {
                dp[j][k]=max(dp[j][k],dp[j-m[i]][k-t[i]]+1);
            }
        }
        printf("%d\n",dp[M][T]);
    }
    
    • 1

    信息

    ID
    1057
    时间
    1000ms
    内存
    125MiB
    难度
    2
    标签
    递交数
    0
    已通过
    0
    上传者