为何此题贪心有误?
  • 板块P1120 小木棍
  • 楼主welen
  • 当前回复2
  • 已保存回复2
  • 发布时间2020/11/23 13:28
  • 上次更新2023/11/5 07:28:38
查看原帖
为何此题贪心有误?
65941
welen楼主2020/11/23 13:28

RT,大概就是,把木棍从大到小排序。 优先用大的,不去尝试次大的。因为大的一定比次打的优。为什么这样错了啊,感觉到有点不对,但是没法特别详细的感觉到不对(举不出例子?)

bool dfs(int x){
    if(x==0){
        return true;
    }
    for(int i = N;i>=1;--i){
        if(!use[i]&&x>=a[i]){
            use[i]=true;
            if(dfs(x-a[i])){
                return true;
            }
            use[i]=false;
        }
    }
    return false;
}
bool check(int num){
    for(int i = 1;i<=sum/num;++i){
        if(!dfs(num)){
            return false;
        }
    }
    return true;
}
2020/11/23 13:28
加载中...