@kaike

传送门

看了半天,不会写

没见过这种题型,看了背包九讲,然而只有很简单的几句话

我认为就是多加了一维,变成三维数组

由于必须恰好等于包的容量,所以要赋最小值

然而不能那样递推为什么我也不知道

还没悟出来

嗯加油

 1 #include<iostream>
 2 using namespace std;
 3 long f[51][50001];
 4 int q1[51];
 5 int q2[51];
 6 int main()
 7 {
 8     int k,v,n;
 9     int value,weight;
10     cin>>k>>v>>n;
11     for(int i=0;i<=k;i++)
12         for(int j=0;j<=v;j++)
13             f[i][j]=-99999999;//赋初值
14     f[1][0]=0;//当背包容量为0时,赋值0
15     for(int i=1;i<=n;i++)//枚举背包
16     {
17         cin>>weight>>value;
18         for(int j=v;j>=weight;j--)//枚举容量
19         {
20             for(int w=1;w<=k;w++)//枚举k包 从1-k
21             {
22             q1[w]=f[w][j];
23             q2[w]=f[w][j-weight]+value;
24             }
25             int h1=1,h2=1,h=0;
26             while(h<k)
27             {
28                 h++;
29                 if(q1[h1]>q2[h2]) {
30                     f[h][j]=q1[h1];
31                     h1++;
32                 }
33                 else {
34                     f[h][j]=q2[h2];
35                     h2++;
36                 }
37             }
38         }
39     }
40         int ans=0;
41         for(int i=1;i<=k;i++)
42             ans+=f[i][v];
43         cout<<ans<<endl;
44         return 0;
45 }  

你蠢

转载于:https://www.cnblogs.com/Kaike/p/5950533.html

[JZOJ P1281] [DP]背包的第k优解相关推荐

  1. 2639-Bone Collector II (01背包之第k优解)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2639 求第k优解的关键代码: 用两个数组记录两种状态(选择或不选择),并且只要记录前k次.在这两个数 ...

  2. HDU2639 01背包 第K优决策

    初学背包.以下内容,来源网络,整理以作学习资料. 求第K优解 对于求次优解.第K优解类的问题,如果相应的最优解问题能写出状态转移方程.用动态规划解决,那么求次优解往往可以相同的复杂度解决,第K优解则比 ...

  3. HDU 2639(01背包求第K大值)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2639 Bone Collector II Time Limit: 5000/2000 MS (Jav ...

  4. 第K优决策 HDU2639

    看到一些比较好的东西,感觉对理解这个对于求次优解.第K优解类的问题非常有启发性吧,以前不知道应该怎么办,看了以后感觉稍微有点点想法,多想想吧,估计能触类旁通,遇到相关的一些题目可能也会有一定的想法吧, ...

  5. HDU 2639 Bone Collector II(01背包-第K优决策)

    Description 给出n件物品的价值和体积,问在总体积不超过v时的第k大价值 Input 第一行为用例组数T,每组用例第一行为三个整数n,v和k,第二行n个整数表示这n件物品的价值,第三行n个整 ...

  6. POJ 1947 Rebuilding Roads (树dp + 背包思想)

    题目链接:http://poj.org/problem?id=1947 一共有n个节点,要求减去最少的边,行号剩下p个节点.问你去掉的最少边数. dp[u][j]表示u为子树根,且得到j个节点最少减去 ...

  7. (背包dp) 背包N讲

    文章目录 前言 相关练习题 模板题 01背包 完全背包 多重背包 小数据范围 (可朴素暴力) 中等数据范围 (二进制优化) 大数据范围 (单调队列优化) 混合背包 二维费用背包 分组背包 有依赖的背包 ...

  8. 二叉苹果树(树型DP+背包)

    二叉苹果树 有一棵苹果树,如果树枝有分叉,一定是分2叉(就是说没有只有1个儿子的结点).这棵树共有N个结点(叶子点或者树枝分叉点),编号为1-N,树根编号一定是1. 我们用一根树枝两端连接的结点的编号 ...

  9. 【Acwing提高】DP·背包

    推荐:炒鸡棒的适合萌新的DP题单(大概?) [Acwing提高]DP·背包 文章目录 [Acwing提高]DP·背包 知识点 题目 采药 装箱问题 宠物小精灵之收服 数字组合 买书 货币系统1021 ...

最新文章

  1. Linux2.6内核--内存管理(1)--分页机制
  2. Java功能模块代码源码_Windows计算机功能Java源码
  3. python数据类型总结
  4. js获取某节点的特定父节点
  5. python的pyaudio教程入门_Python音频操作工具PyAudio上手教程!
  6. 随机抽奖程序_Excel VBA(7) – 自制九宫格抽奖器
  7. 2030影院群站专用苹果CMS10自适应手机电影整站源码影视模板下载
  8. Revit二次开发——选集
  9. dentity在Java里是什么意思_Function.identity()
  10. HTML 头部 head 标签
  11. 衢州计算机考试在哪里考,第一个省考考点出了!衢州14个考点及地址公布!
  12. R使用Z分数和四分位数区间法去除异常值(outlier)
  13. CSDN日报20170712——《AI 大行其道,你准备好了吗?》
  14. linux中编辑pdf文件,Linux下PDF操作与转换
  15. 日期:Date,SimpleDateFormat常见API以及包装类
  16. java软件开发案例整合_30个java练手实战项目,让理论与实践相结合,献给嗜学如命的奋斗人...
  17. 新型肺炎疫情终成压倒美股的最后一根稻草
  18. 关于Java对象数组赋值
  19. RecyclerView实现收缩分组悬浮列表
  20. ac+ap无线网络设置

热门文章

  1. Aqua Data Studio数据库连接工具解决Sybase中文乱码问题
  2. 修改eclipse配置文件properties编码格式
  3. tomcat配置虚拟目录的方法
  4. 深入BeanShell脚本对象
  5. 《JavaScript核心技术》
  6. liunx 下的动态地址分配服务DHCP
  7. 保存时自动加分号_CAD自动保存文件扩展名是什么?如何快速恢复自动保存文件?...
  8. python半圆代码_趣味项目:用Python代码做个月饼送给你!
  9. python自动化办公 51cto_聊聊 Python 办公自动化之一 Excel
  10. 获取系统分辨率_一文弄懂高分辨率高速快门CMOS成像传感器技术应用现状