acgo题库
  • 首页
  • 题库
  • 题单
  • 竞赛
  • 讨论
  • 排行
  • 团队
  • 备赛专区

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
登录
注册
题目详情题解(0)讨论(0)提交记录(0)
  • 题解

    userId_undefined

    法兰西玫瑰

    倔强青铜
    146阅读
    0回复
    4点赞
  • 【正经题解】背包问题

    userId_undefined

    AC君

    管理员
    倔强青铜
    89阅读
    0回复
    1点赞
  • 无

    #include<bits/stdc++.h> using namespace std; int a[105]; int ans[105]; int n,s,t; bool flag=false; void dfs(int depth,int x,int w){//到depth,选取了x,重量为w if(ws){ for(int i=1;i<=x;i++){ cout<<ans[i]<<" "; flag=true; } return; } else{ if(w>s||depth>n||flagtrue) return ;//剪枝 ans[x+1]=a[depth]; dfs(depth+1,x+1,w+a[depth]);//要这个物品 dfs(depth+1,x,w); } } int main(){ }

    userId_undefined

    #include

    倔强青铜
    60阅读
    1回复
    1点赞
  • 别看了

    题目是错题,理论上无解,所有题解都可以被卡到 O(2n)O(2^n)O(2n). 如果没有要求必须找到第一组解,一个可行的代码如下:

    userId_undefined

    复仇者_帅童

    尊贵铂金
    53阅读
    0回复
    0点赞
首页