acgo题库
  • 首页
  • 题库
  • 学习
  • 天梯
  • 备赛

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
  • 竞赛
  • 讨论
  • 团队
登录
注册
题目详情提交记录(0)
  • 01背包题解

    分析思路:(这题Markdown稀烂)首先这是个背包问题,并且是01背包,意味着每件货物至多只能取一次。但关键还在输出,要求出箱子的最小剩余空间,也就是需要重量最大且不超过背包容量。容易发现,这题可以转化为v=wv=wv=w(此处vvv指价值,不是容量)的背包,重量即价值!然后剩下的就是背包问题模板了,套一下动态转移方程即可。空间优化版时间复杂度O(n∗V)O(n*V)O(n∗V),空间复杂度O(V)O(V)O(V)。

    userId_undefined

    闪电九尾狐

    2阅读
    0回复
    0点赞
  • 题解

    #include<iostream>//本题为01背包问题 using namespace std; int d[100000]; int v,n,a[10100]; int main(){ cin>>v>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } for(int i=1;i<=n;i++){ for(int j=v;j>=1;j--){ if(j>=a[i]){ d[j]=max(d[j],d[j-a[i]]+a[i]); } } } cout<<v-d[v]; return 0; }

    userId_undefined

    ACduck

    时间刺客空间掌握者倔强青铜数组·数组操作员递归·套娃学徒循环·循环打卡人
    6阅读
    0回复
    1点赞
暂无数据

提交答案之后,这里将显示提交结果~

首页