题解

203 条题解

  • 0
    @ 2007-04-18 11:03:40

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    好像不需要剪枝...

  • 0
    @ 2007-04-11 02:21:55

    此题拿来练习框编.残念..

  • 0
    @ 2007-03-03 17:55:43

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:运行时错误...|错误号: 5597

    ├ 测试数据 04:运行时错误...|错误号: 5597

    ├ 测试数据 05:运行时错误...| 错误号: 216 | 存取非法

    ├ 测试数据 06:运行时错误...| 错误号: 216 | 存取非法

    ├ 测试数据 07:运行时错误...| 错误号: 216 | 存取非法

    ├ 测试数据 08:运行时错误...| 错误号: 216 | 存取非法

    ├ 测试数据 09:运行时错误...| 错误号: 216 | 存取非法

    ├ 测试数据 10:答案正确... 0ms

  • 0
    @ 2007-02-10 22:40:20

    ~yun~

    这题难度2!?

  • 0
    @ 2007-02-09 09:33:21

    土题啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!标准0-1背包问题。

  • 0
    @ 2007-01-06 23:59:52

    很常规的01背包嘛

    怕超空间,用滚动数组优化了一下~

  • 0
    @ 2006-12-28 21:12:29

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

  • 0
    @ 2006-12-24 10:04:34

    我严重鄙视自己,01背包题目为什么要连续提交几次咧?一次数据范围定义错了~一次 排序写错了~什么鬼东西嘛!5555555555555

  • 0
    @ 2006-12-16 11:05:30

    明显、简单、垃圾、弱智、基础…………的0-1背包,简单、基础、垃圾、弱智的dp方程就可以过。只不过多个相乘,比赛时满分。

  • 0
    @ 2006-12-16 09:33:45

    支持tanghao神牛!

  • 0
    @ 2006-12-12 16:39:26

    严重鄙视NOIP连着两年考01背包!

    另外这题我从看题到AC都不到10分钟.

    算上刚才做的1316,今年普及组可以秒杀...

    f=max(f,f+v[i]*w[i]) {j>=w[i]}

    f=f {j

  • 0
    @ 2006-12-11 20:38:09

    难度应该为5~~~啊,不会做

  • 0
    @ 2006-12-11 20:17:13

    貌似去年普及的采药

    以及小飞侠!!!

  • 0
    @ 2006-12-11 18:33:10

    这题还难度2!?

    VIJOS TMD 不知怎么了!!!

  • 0
    @ 2006-12-19 22:34:35

    EASY的0-1背包

    貌似去年普及的采药

    CCF严重出题失误

    比赛时当然是400

  • 0
    @ 2006-12-10 20:55:57

    ............................

    你可怜啊..........

    提高的同弱,改下状态就ok了

  • 0
    @ 2006-12-10 19:37:43

    忘记打了个v还要等两分钟啊

    5555555......

    总算对了,我的正确率555555......

    (递归也过得去)

  • -1
    @ 2017-09-03 17:43:09

    01背包稍微变形
    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    #include<cmath>
    using namespace std;
    int main()
    {
    int n,m,dp[40000],v,p,i,j;
    //freopen("problem.in","r",stdin);
    cin>>n>>m;
    for(i=1;i<=m;i++)
    {
    cin>>v>>p;
    for(j=n;j>=v;j--)
    {
    dp[j]=max(dp[j],dp[j-v]+p*v);
    }
    }
    cout<<dp[n];
    return 0;
    }

  • -1
    @ 2017-08-22 20:04:34

    dp萌新水一发嘿嘿嘿
    ```cpp
    #include <iostream>
    using namespace std;

    int main()
    {
    int price;
    int number;
    cin>>price>>number;
    int* p=new int [number];
    int* w=new int [number];
    for(int a=0;a<number;a++)
    {
    cin>>p[a]>>w[a];
    }
    int** c=new int* [number+1];
    for(int a=0;a<=number;a++)
    {
    c[a]=new int [price+1];
    for(int b=0;b<=price;b++)
    {
    c[a][b]=0;
    }
    }
    for(int i=1;i<=number;i++)
    {
    for(int j=1;j<=price;j++)
    {
    if(p[i-1]<=j)
    {
    if(c[i-1][j]<c[i-1][j-p[i-1]]+w[i-1]*p[i-1])
    {
    c[i][j]=c[i-1][j-p[i-1]]+w[i-1]*p[i-1];
    }
    else
    {
    c[i][j]=c[i-1][j];
    }
    }
    else
    {
    c[i][j]=c[i-1][j];
    }
    }
    }
    cout<<c[number][price];
    return 0;
    }
    ```

  • -1
    @ 2017-05-29 18:06:41

    Accepted

    状态 耗时 内存占用

    #1 Accepted 2ms 272.0KiB
    #2 Accepted 3ms 256.0KiB
    #3 Accepted 3ms 256.0KiB
    #4 Accepted 3ms 212.0KiB
    #5 Accepted 4ms 344.0KiB
    #6 Accepted 3ms 256.0KiB
    #7 Accepted 3ms 384.0KiB
    #8 Accepted 5ms 480.0KiB
    #9 Accepted 2ms 500.0KiB
    #10 Accepted 2ms 356.0KiB
    代码

    #include<iostream>
    using namespace std;
    int n,m,v[25],p[25],f[30010]={0},ans=0;
    int main()
    {
        cin>>n>>m;
        for(int i=1;i<=m;i++)
        {
            cin>>v[i]>>p[i];
            p[i]=p[i]*v[i];
        }
        for(int i=1;i<=m;i++)
        {
            for(int j=n;j>=v[i]+1;j--)
            {
                if(f[j-v[i]]!=0&&f[j]<f[j-v[i]]+p[i])
                {
                    f[j]=f[j-v[i]]+p[i];
                    if(ans<f[j])
                        ans=f[j];
                }
            }
            if(f[v[i]]<p[i])
                f[v[i]]=p[i];
            if(ans<p[i])
                ans=p[i];
        }
        cout<<ans;
        return 0;
    }
    

信息

ID
1317
难度
3
分类
动态规划 | 背包 点击显示
标签
递交数
6628
已通过
3339
通过率
50%
被复制
31
上传者