求教!大佬们看过来qwq

回复帖子

@Sakura_Peng 2017-11-07 21:53 回复

这道题目用记忆化搜索可不可以?

#include <stdio.h>
int c[10001],w[10001],n,v,b[10001],max;
void CZP(int k,int g,int j)
{
    //printf("%d %d\n",k,g);
    if (k>n)
    {
        if (g<=v)
        {
            max=j>max?j:max;
            return ;
        }
        return ;
    }
    if (g>v)
    {
        return ;    
    }
    CZP(k+1,g+w[k],j+c[k]); 
    CZP(k+1,g,j);
    return ;
}
int main()
{
    scanf("%d%d",&n,&v);
    for (int i=1;i<=n;i++)
    {
        scanf("%d%d",&w[i],&c[i]); 
    } 
    CZP(1,0,0);
    printf("%d\n",max);
    return 0;
}
我这个一直30,剩下7个测试点都是TLE,我最近一直在练习记忆化,想问各位大佬这个程序还可以怎么剪枝?或者到底可不可以用记忆化AC?
@x_faraway_x  2017-11-07 21:56 回复 举报

很抱歉,我并没有看到您的程序在哪里体现出来了“记忆化”。

@KillerXu  2017-11-07 22:02 回复 举报

呃,说实话,翻译的很清楚了,用背包不就行了……何必自己折磨自己

反馈
如果你认为某个帖子有问题,欢迎向洛谷反馈,以帮助更多的同学。



请具体说明理由,以增加反馈的可信度。