hduPiggy-Bank(完全背包)

  http://acm.hdu.edu.cn/showproblem.php?pid=1114

此题就是最简单的完全背包,顺序!!!

for i=1..N

    for v=0..V

        f[v]=max{f[v],f[v-cost]+weight}

复制代码
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define N 1000001
int dp[10005];
int main()
{
    int T,E,V,n;
    int w[502],v[502];
    scanf("%d",&T);
    while(T--)
    {
       scanf("%d%d",&E,&V);
       V=V-E;
       scanf("%d",&n);
       for(int i=1;i<=n;i++)
       {
           scanf("%d%d",&v[i],&w[i]);
       }
       for(int i=0;i<=V;i++)
         dp[i]=N;
         dp[0]=0;
       for(int i=1;i<=n;i++)
       {
           for(int j=w[i];j<=V;j++)
           {
               if(dp[j-w[i]]+v[i]<dp[j])
                  dp[j]=dp[j-w[i]]+v[i];
           }
       }
       if(dp[V]==N) printf("This is impossible.\n");
       else printf("The minimum amount of money in the piggy-bank is %d.\n",dp[V]);
    }
    return 0;
}
复制代码

 

posted @   人艰不拆_zmc  阅读(297)  评论(1编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示