P1759 通天之潜水(不详细,勿看)(动态规划递推,组合背包,洛谷)
题目链接:点击进入
题目分析:
简单的组合背包模板题,但是递推的同时要刷新这种情况使用了哪些物品
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 通天之潜水(不详细,勿看)(动态规划递推,组合背包,洛谷)相关推荐
- sob攻略超详细攻略_2020云南旅游超详细必看攻略(附带云南美食景点攻略)
原标题:2020云南旅游超详细必看攻略(附带云南美食景点攻略) 云南,很多人首选的旅行目的地,云南的旅游景点多,而且也比较分散,建议大家先做好旅游攻略再出发吧,不然真的去到会很迷茫.也许有很多小伙伴是 ...
- 女大学生的一天(男生勿看)
原贴:http://club.ccmove.com/nclub/topicdisplay-1189-986492-1.html 女大学生的一天(男生勿看)女大学生的一天(男生勿看) 郑重警告:本文只供 ...
- steamdb免费游戏信息爬取(不是爬虫教学,日常记录,贼不工整,不喜勿看)
日常记录而已,不是特别工整,不喜勿喷,不喜勿看. 1. 数据来源于steamdb, 目标网址:https://steamdb.info/upcoming/free/ 2. 由于网址存在反爬措施,在没有 ...
- 【惊悚视频 胆小勿看】 现实版《电锯惊魂》魔术师表演失手 锯死美丽妻子
警告!!!对标题感觉不适者勿看!!! 虽然这个<外国一魔术师表演失败用电锯锯死妻子>的视频只有2分39秒,却记录了一个生命的终结. 魔术一开始,魔术师将身为妻子的女助手请到台上,将妻子的嘴 ...
- 新角度解读C++内联函数的前世今生(上)(详细必看)
引语: 首先在谈内联函数之前,我们先来讨论下C语言中是如何做的? 我们必须明白一点,在C语言中是没有内联函数的存在的,那么类似于内联函数作用的是什么呢? 答案是宏函数,他会在编译期间进行宏替换,达到函 ...
- matlab 等高线图限制范围,matlab等高线图的初级问题,matlab画等高线问题,请高人解答。详细请看补充。...
导航:网站首页 > matlab等高线图的初级问题,matlab画等高线问题,请高人解答.详细请看补充. matlab等高线图的初级问题,matlab画等高线问题,请高人解答.详细请看补充. 匿 ...
- 用C语言写爬楼梯(斐波那契数列的应用,迭代与递归)爬楼梯问题超详细,看完这一篇就够了。
爬楼梯问题实际上就是斐波那契数列的应用,首先我们讲讲什么是斐波那契数列.因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为"兔子数列" ...
- 51nod 1126 求递推序列的第N项 思路:递推模拟,求循环节。详细注释
题目: 看起来比较难,范围10^9 O(n)都过不了,但是仅仅是看起来.(虽然我WA了7次 TLE了3次,被自己蠢哭) 我们观察到 0 <= f[i] <= 6 就简单了,就像小学初中学的 ...
- 【背包DP练习】洛谷 P5020货币系统 P1757通天之分组背包 P1064[NOIP2006 提高组]金明的预算方案 P5322 [BJOI2019]排兵布阵
洛谷 P5020货币系统 https://www.luogu.com.cn/problem/P5020 思路是把货币从小到大排序,然后按顺序依次完全背包dp,每次dp检查i-1种面值的货币能不能凑出第 ...
最新文章
- QuestMobile 2017年中国移动互联网年度报告
- Linux的目录结构和头文件相关;哪里找- sys/types.h, sys/stat.h
- Redis和nosql简介,api调用;Redis数据功能(String类型的数据处理);List数据结构(及Java调用处理);Hash数据结构;Set数据结构功能;sortedSet(有序集合)数
- [ZOJ 4024] Peak
- JS引用类型 -- Array类型
- path manipulation怎么解决_干货!终于!解决macOS下pyenv安装python3.8.2缺少tkinter模块的问题!...
- 文件操作的小tips
- html中如何在标题中加样式,html title属性 样式
- 为什么好的程序员会写出糟糕的单元测试?
- 在Centos7上搭建Mysql数据库
- 统计字符串出现的次数(参照传智播客视频)
- XtraBackup备份mysql5.1.73
- 机械精度设计与检测|尺寸精度
- BM3D图像去噪算法原理及代码详解
- vscode背景的更换_vscode自定义背景颜色
- Bootstrap文字排版方面css实用类
- win7搜索网络计算机文件,Win7查找局域网共享文件的方法
- java是牌子的眼镜多少钱一副_一副好眼镜的成本都去哪儿了?
- 浙工大计算机学院2013学年二等奖学金,关于2012—2013学年学院奖学金评定文件.doc...
- 辛东方:papi酱凭什么能够走红 背后的炒作令人发抖