洛谷 P1048 采药 01背包入门
P1048 采药
最近想学dp了
一道非常简单入门的01背包,写此博客做一个教训,对01背包还不是特别熟,动态方程很容易就推出来了,但是写二维状态方程时wa了,然后改为一维过了。
主要还是对01背包不熟悉。
dp[i][j] 表示用 j 单位时间采前 i 种药草的最大价值。
dp[i][j] = max( dp[i-1][j-e[i].t] + e[i].w , dp[i-1][j])
但是当 j < e[i].t 时,dp[i][j] = dp[i-1][j] ,。。。就是wa在这儿。
二维代码
#include<bits/stdc++.h>
using namespace std;
const int N=200;
const int T=1e3+100;
int t, m;
struct node{int t, w;
}e[N];int dp[N][T];
int main(){cin >> t >> m;for(int i = 1; i <= m ; i++){cin >> e[i].t >> e[i].w;}dp[0][0] = 0;for(int i = 1; i <= m; i++){for(int j = 0; j <= t; j++){if(j >= e[i].t)dp[i][j] = max(dp[i-1][j-e[i].t] + e[i].w,dp[i-1][j]);else dp[i][j] = dp[i-1][j];}}cout << dp[m][t] << endl;return 0;
}
一维代码
#include<bits/stdc++.h>
using namespace std;
const int N=200;
const int T=1e4+100;
int t, m;
struct node{int t, w;
}e[N];int dp[T];
int main(){cin >> t >> m;for(int i = 1; i <= m ; i++){cin >> e[i].t >> e[i].w;}dp[0] = 0;for(int i = 1; i <= m; i++){for(int j = t; j >= e[i].t; j--){dp[j] = max(dp[j-e[i].t] + e[i].w,dp[j]);}}cout << dp[t] << endl;return 0;
}
转载于:https://www.cnblogs.com/YJing814/p/11193680.html
洛谷 P1048 采药 01背包入门相关推荐
- bzoj1334 洛谷P4394 选举 01背包
题目链接:传送门 题目描述 NNN个政党要组成一个联合内阁,每个党都有自己的席位数. 现在希望你找出一种方案,你选中的党的席位数要大于总数的一半,并且联合内阁的席位数越多越好. 对于一个联合内阁,如果 ...
- 洛谷oj题单【入门2】分支结构-入门难度(Java)
洛谷oj题单[入门2]分支结构-入门难度(Java) 来源:https://www.luogu.com.cn/training/101#problems P5709 [深基2.习6]Apples Pr ...
- 洛谷题目按难度点评---入门难度
洛谷题目按难度点评---入门难度 1.p1421 小玉买文具 难度:入门难度 考点:输入,输出,整数的四则运算 适用:小学生 #include <stdio.h> int main(){ ...
- 洛谷1048 采药(01背包)
传送门 [题目分析] 这个两维降一维妙妙妙啊...... 好吧我已经菜的做01背包了.... [代码~] #include<bits/stdc++.h> using namespace s ...
- 采药(洛谷-P1048)
题目描述 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质,给他出了一个难题.医师把他带到一个到处都是草药的山洞里对他说:" ...
- 洛谷刷题记录(入门第一题)
大家好,先自我介绍一下.我是sjksndnfkwks,目前大一学生,数据科学学院,从今天也就是2022年12月26日开始记录自己洛谷刷题的过程.目前为止我接触过java.python两种编程语言,所以 ...
- 【寒假每日一题】洛谷 P7471 [NOI Online 2021 入门组] 切蛋糕
题目链接:P7471 [NOI Online 2021 入门组] 切蛋糕 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述 Alice.Bob 和 Cindy 三个好朋友得到 ...
- 洛谷P1280 caioj 1085 动态规划入门(非常规DP9:尼克的任务)
这道题我一直按照往常的思路想 f[i]为前i个任务的最大空暇时间 然后想不出来怎么做-- 后来看了题解 发现这里设的状态是时间,不是任务 自己思维还是太局限了,题做得太少. 很多网上题解都反着做,那么 ...
- 动态规划求解限时采药问题(洛谷P1048题题解,Java语言描述)
题目要求 P1048题目链接 分析 荐读:大神博文 -> <聊聊动态规划与记忆化搜索> 这题就是一个标准的DP水题,对于不会DP的萌新,太难了!对于整天搞DP的算法大佬,水爆了! 荐 ...
最新文章
- 软件工程需求设计说明书
- QT利用lamda正则表达式取出字符串中的浮点数与整数
- spring中文参考手册-核心技术_ioc
- ThreadLocal原理浅析
- java图片压缩工具
- 图解通信原理与案例分析-1:开篇-通信系统大全与快速概览
- html 置换元素和非置换元素
- office2016 office2019 office2013 ----一键安装:
- 计算机信息学院运动会入场式,厦门大学信息学院第一届新生运动会成功举办
- 使用ExcelJs导出表格设置样式、添加边框
- jmeter---Throughput(吞吐量)系列
- 英语长难句之非谓语动词作状语与独立主格-学习笔记
- SQLite Expert 5.X 通用注册版-你的SQL好帮手
- 手撸Spring系列4:IOC/DI 思想(实战篇)
- linux在线ipa签名,利用Cydia Impactor免越狱安装未签名APP教程 | ZMMOO
- PC微信最新版HOOK接口3.7.6.44
- asp_net2_0学习指导 菜鸟到中级程序员的飞跃
- c#程序设计 习题7.3
- (建议收藏)第一人称视角带你走进 Vue 源码世界
- Mat类常用的构造函数
热门文章
- vs code 前端如何以服务器模式打开 [安装服务器] server insteall
- 在Ubuntu中部署并测试Fabric 1.0 Beta
- 《为iPad而设计:打造畅销App》——了解客户
- [wxWidget系列] wxWidget的事件机制
- Server object instance creation failed on all SOC machines
- 如何在Ubuntu 14.10 上安装WordPress?
- LeetCode 279. Perfect Squares
- matlab与r语言运算速度,R语言与matlab循环时间对比
- linux未被识别crond服务,linux 定时任务 crond 服务介绍
- vs code react-native 安卓调试_实战|C++在vscode上的调试配置