zoukankan      html  css  js  c++  java
  • P1102-P1103

    //01背包

    // #include <iostream>
    // #include <algorithm>
    // using namespace std;
    // int tim[101];
    // int val[101];
    // int f[1001];
    // int main()
    // {
    //     int t,m;
    //     cin >> t >> m;
    //     for(int i = 0; i < m; i++)
    //     {
    //         cin >> tim[i] >> val[i];
    //     }
    //
    //     for(int i = 0; i < m; i++)
    //     {
    //         for(int v = t; v >= tim[i]; v--)
    //         {
    //             if(f[v - tim[i]] + val[i] > f[v])
    //             {
    //                 f[v] = f[v - tim[i]] + val[i];
    //             }
    //         }
    //     }
    //     cout << f[t];
    //     return 0;
    // }

    //还是超内存。。。(背包总是超)

    // #include<iostream>
    // using namespace std;
    // int main()
    // {
    //     int n,m;
    //     cin>>n>>m;
    //     int v,p;
    //     int dp[30001];
    //     for(int i=1;i<=m;i++)
    //     {
    //         cin>>v>>p;
    //         for(int j=n;j>=v;j++)
    //         {
    //             dp[j]=max(dp[j],dp[j-v]+p*v);
    //         }
    //     }
    //     cout<<dp[n]<<endl;
    //     return 0;
    // }

    //正确答案

    #include<cstdio>
    #include<algorithm>
    #define V 30010
    using namespace std;
    int dp[V],w[30],v[30],n,m;
    int main()
    {
    int a,b;
    scanf("%d%d",&n,&m);
    for (int i=1;i<=m;i++)
    {
    scanf("%d%d",&a,&b);
    v[i]=a;
    w[i]=a*b;
    }
    for (int j=0;j<=n;j++)
    dp[j]=0;
    for (int i=1;i<=m;i++)
    for (int j=n;j>=0;j--)
    if (j-v[i]>=0)
    dp[j]=max(dp[j],dp[j-v[i]]+w[i]);
    printf("%d",dp[n]);
    return 0;
    }



  • 相关阅读:
    VMware VSAN 设计规则
    通过命令行给 XenServer 打补丁
    XenServer 根分区空间满的解决办法
    sftp命令不被识别
    windows cmd窗口提示“telnet”命令不能内部或外部命令,也不是可运行的程序
    Eclipse安装ModelGoon控件(ModelGoon控件反向生成UML)
    WINDOWS8.1安装ORACLE客户端及配置
    CentOs下安装maven
    centos下安装java8
    mono支持gb2312
  • 原文地址:https://www.cnblogs.com/Chri-K/p/13640350.html
Copyright © 2011-2022 走看看