题目链接:点击进入

题目分析:

简单的组合背包模板题,但是递推的同时要刷新这种情况使用了哪些物品

ac代码:

#include<bits/stdc++.h>
using namespace std;
int weigh[101],zhu[101],t[101];
struct student
{int s;int number;int a[101];
}f[201][201];
int main()
{std::ios::sync_with_stdio(false);int m,v,n;//m总重量,v总阻力,n物品数cin>>m>>v>>n;for(int i=1;i<=n;i++)  {cin>>weigh[i]>>zhu[i]>>t[i];//weigh个体重量,zhu个体阻力,t个体价值
    }for(int i=1;i<=n;i++)for(int mi=m;mi>=weigh[i];mi--)for(int vi=v;vi>=zhu[i];vi--){//printf("\nnumber=%d\n",f[0][0].number);if(f[mi][vi].s<f[mi-weigh[i]][vi-zhu[i]].s+t[i]){f[mi][vi].s=f[mi-weigh[i]][vi-zhu[i]].s+t[i];  if(f[mi-weigh[i]][vi-zhu[i]].number==0){f[mi][vi].a[1]=i;f[mi][vi].number=1;}else{for(int x=1;x<=f[mi-weigh[i]][vi-zhu[i]].number;x++){f[mi][vi].a[x]=f[mi-weigh[i]][vi-zhu[i]].a[x];}f[mi][vi].number=f[mi-weigh[i]][vi-zhu[i]].number+1;f[mi][vi].a[f[mi][vi].number]=i;}}}int maxn=f[m][v].s,last_i=m,last_j=v;printf("%d\n",maxn);for(int i=m;i>=0;i--)for(int j=v;j>=0;j--){if(f[i][j].s!=maxn&&f[last_i][last_j].s==maxn){for(int x=1;x<=f[last_i][last_j].number;x++){printf("%d ",f[last_i][last_j].a[x]);    }//printf("%d",f[last_i][last_j].number);return 0;}last_i=i;last_j=j;}return 0;
}

然后最后在找到相同时间下使用的最少物品情况就好了

对于f数组可以用结构体存,这样更方便,顶多不好写,可是思路清晰

我对于当前已经存了多少个数是从一开始记,所以用了if,else的分类讨论,防止出查错

转载于:https://www.cnblogs.com/zyacmer/p/10046678.html

P1759 通天之潜水(不详细,勿看)(动态规划递推,组合背包,洛谷)相关推荐

  1. sob攻略超详细攻略_2020云南旅游超详细必看攻略(附带云南美食景点攻略)

    原标题:2020云南旅游超详细必看攻略(附带云南美食景点攻略) 云南,很多人首选的旅行目的地,云南的旅游景点多,而且也比较分散,建议大家先做好旅游攻略再出发吧,不然真的去到会很迷茫.也许有很多小伙伴是 ...

  2. 女大学生的一天(男生勿看)

    原贴:http://club.ccmove.com/nclub/topicdisplay-1189-986492-1.html 女大学生的一天(男生勿看)女大学生的一天(男生勿看) 郑重警告:本文只供 ...

  3. steamdb免费游戏信息爬取(不是爬虫教学,日常记录,贼不工整,不喜勿看)

    日常记录而已,不是特别工整,不喜勿喷,不喜勿看. 1. 数据来源于steamdb, 目标网址:https://steamdb.info/upcoming/free/ 2. 由于网址存在反爬措施,在没有 ...

  4. 【惊悚视频 胆小勿看】 现实版《电锯惊魂》魔术师表演失手 锯死美丽妻子

    警告!!!对标题感觉不适者勿看!!! 虽然这个<外国一魔术师表演失败用电锯锯死妻子>的视频只有2分39秒,却记录了一个生命的终结. 魔术一开始,魔术师将身为妻子的女助手请到台上,将妻子的嘴 ...

  5. 新角度解读C++内联函数的前世今生(上)(详细必看)

    引语: 首先在谈内联函数之前,我们先来讨论下C语言中是如何做的? 我们必须明白一点,在C语言中是没有内联函数的存在的,那么类似于内联函数作用的是什么呢? 答案是宏函数,他会在编译期间进行宏替换,达到函 ...

  6. matlab 等高线图限制范围,matlab等高线图的初级问题,matlab画等高线问题,请高人解答。详细请看补充。...

    导航:网站首页 > matlab等高线图的初级问题,matlab画等高线问题,请高人解答.详细请看补充. matlab等高线图的初级问题,matlab画等高线问题,请高人解答.详细请看补充. 匿 ...

  7. 用C语言写爬楼梯(斐波那契数列的应用,迭代与递归)爬楼梯问题超详细,看完这一篇就够了。

    爬楼梯问题实际上就是斐波那契数列的应用,首先我们讲讲什么是斐波那契数列.因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为"兔子数列" ...

  8. 51nod 1126 求递推序列的第N项 思路:递推模拟,求循环节。详细注释

    题目: 看起来比较难,范围10^9 O(n)都过不了,但是仅仅是看起来.(虽然我WA了7次 TLE了3次,被自己蠢哭) 我们观察到 0 <= f[i] <= 6 就简单了,就像小学初中学的 ...

  9. 【背包DP练习】洛谷 P5020货币系统 P1757通天之分组背包 P1064[NOIP2006 提高组]金明的预算方案 P5322 [BJOI2019]排兵布阵

    洛谷 P5020货币系统 https://www.luogu.com.cn/problem/P5020 思路是把货币从小到大排序,然后按顺序依次完全背包dp,每次dp检查i-1种面值的货币能不能凑出第 ...

最新文章

  1. QuestMobile 2017年中国移动互联网年度报告
  2. Linux的目录结构和头文件相关;哪里找- sys/types.h, sys/stat.h
  3. Redis和nosql简介,api调用;Redis数据功能(String类型的数据处理);List数据结构(及Java调用处理);Hash数据结构;Set数据结构功能;sortedSet(有序集合)数
  4. [ZOJ 4024] Peak
  5. JS引用类型 -- Array类型
  6. path manipulation怎么解决_干货!终于!解决macOS下pyenv安装python3.8.2缺少tkinter模块的问题!...
  7. 文件操作的小tips
  8. html中如何在标题中加样式,html title属性 样式
  9. 为什么好的程序员会写出糟糕的单元测试?
  10. 在Centos7上搭建Mysql数据库
  11. 统计字符串出现的次数(参照传智播客视频)
  12. XtraBackup备份mysql5.1.73
  13. 机械精度设计与检测|尺寸精度
  14. BM3D图像去噪算法原理及代码详解
  15. vscode背景的更换_vscode自定义背景颜色
  16. Bootstrap文字排版方面css实用类
  17. win7搜索网络计算机文件,Win7查找局域网共享文件的方法
  18. java是牌子的眼镜多少钱一副_一副好眼镜的成本都去哪儿了?
  19. 浙工大计算机学院2013学年二等奖学金,关于2012—2013学年学院奖学金评定文件.doc...
  20. 辛东方:papi酱凭什么能够走红 背后的炒作令人发抖

热门文章

  1. 2型文法:基于预测分析表的自顶向下语法分析
  2. 张钹院士:制约人工智能发展的最大困难是什么?
  3. 【专家观点】刘经南院士:北斗+5G为何能引领新基建?
  4. 美国再出半导体新法案!1800亿谋求芯片制造振兴
  5. 人工智能正在推动芯片的复兴
  6. 重磅推荐:中国人工智能趋势报告(完整版)
  7. 六大“未来式”存储器,谁将脱颖而出?
  8. 图表对比详解:亚马逊、微软和谷歌云的机器学习即服务哪家强
  9. MSRA副院长周明博士:四大研究领域揭示自然语言技术的奥秘
  10. 程序员的“凡尔赛文学”大赏!