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

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

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

    T3 午枫爱搬家2 题目大意 有 nnn 件物品,每件物品有体积和价值两种属性,有一辆容量为 mmm 的卡车,求搬运的物品在没超过卡车容量的前提下最大能存放的价值。 解题思路 本题考虑用 010101 背包求解。 设 dpjdp_{j}dpj 表示消耗 jjj 的容积时,能得到的最大价值。 那么状态转移为 dpj=max(dpj,dpj−wi+vi)dp_{j}=max(dp_{j},dp_{j-w_i}+v_i)dpj =max(dpj ,dpj−wi +vi ) 。 参考代码

    userId_undefined

    NoonMaple

    秩序白银
    20阅读
    0回复
    0点赞
  • 100%AC,点个赞再走

    #include<iostream> using namespace std; struct str{int w, v;}; int n, m; str t[5001]; long long dp[20001]; int main(){ cin >> n >> m; for(int i = 1;i <= n;i++) cin >> t[i].w >> t[i].v; for(int i = 1;i <= n;i++){ for(int j = m;j >= t[i].w;j--){ dp[j] = max(dp[j], dp[j-t[i].w]+t[i].v); } } cout << dp[m] << endl; return 0; }

    userId_undefined

    宇智波鼬的欧豆豆

    出道萌新时间刺客空间掌握者I/O·IO入门者模拟·模拟练习生贪心·贪心尝试者
    4阅读
    0回复
    0点赞
首页