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背包入门相关推荐

  1. bzoj1334 洛谷P4394 选举 01背包

    题目链接:传送门 题目描述 NNN个政党要组成一个联合内阁,每个党都有自己的席位数. 现在希望你找出一种方案,你选中的党的席位数要大于总数的一半,并且联合内阁的席位数越多越好. 对于一个联合内阁,如果 ...

  2. 洛谷oj题单【入门2】分支结构-入门难度(Java)

    洛谷oj题单[入门2]分支结构-入门难度(Java) 来源:https://www.luogu.com.cn/training/101#problems P5709 [深基2.习6]Apples Pr ...

  3. 洛谷题目按难度点评---入门难度

    洛谷题目按难度点评---入门难度 1.p1421 小玉买文具 难度:入门难度 考点:输入,输出,整数的四则运算 适用:小学生 #include <stdio.h> int main(){ ...

  4. 洛谷1048 采药(01背包)

    传送门 [题目分析] 这个两维降一维妙妙妙啊...... 好吧我已经菜的做01背包了.... [代码~] #include<bits/stdc++.h> using namespace s ...

  5. 采药(洛谷-P1048)

    题目描述 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质,给他出了一个难题.医师把他带到一个到处都是草药的山洞里对他说:" ...

  6. 洛谷刷题记录(入门第一题)

    大家好,先自我介绍一下.我是sjksndnfkwks,目前大一学生,数据科学学院,从今天也就是2022年12月26日开始记录自己洛谷刷题的过程.目前为止我接触过java.python两种编程语言,所以 ...

  7. 【寒假每日一题】洛谷 P7471 [NOI Online 2021 入门组] 切蛋糕

    题目链接:P7471 [NOI Online 2021 入门组] 切蛋糕 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述 Alice.Bob 和 Cindy 三个好朋友得到 ...

  8. 洛谷P1280 caioj 1085 动态规划入门(非常规DP9:尼克的任务)

    这道题我一直按照往常的思路想 f[i]为前i个任务的最大空暇时间 然后想不出来怎么做-- 后来看了题解 发现这里设的状态是时间,不是任务 自己思维还是太局限了,题做得太少. 很多网上题解都反着做,那么 ...

  9. 动态规划求解限时采药问题(洛谷P1048题题解,Java语言描述)

    题目要求 P1048题目链接 分析 荐读:大神博文 -> <聊聊动态规划与记忆化搜索> 这题就是一个标准的DP水题,对于不会DP的萌新,太难了!对于整天搞DP的算法大佬,水爆了! 荐 ...

最新文章

  1. 软件工程需求设计说明书
  2. QT利用lamda正则表达式取出字符串中的浮点数与整数
  3. spring中文参考手册-核心技术_ioc
  4. ThreadLocal原理浅析
  5. java图片压缩工具
  6. 图解通信原理与案例分析-1:开篇-通信系统大全与快速概览
  7. html 置换元素和非置换元素
  8. office2016 office2019 office2013 ----一键安装:
  9. 计算机信息学院运动会入场式,厦门大学信息学院第一届新生运动会成功举办
  10. 使用ExcelJs导出表格设置样式、添加边框
  11. jmeter---Throughput(吞吐量)系列
  12. 英语长难句之非谓语动词作状语与独立主格-学习笔记
  13. SQLite Expert 5.X 通用注册版-你的SQL好帮手
  14. 手撸Spring系列4:IOC/DI 思想(实战篇)
  15. linux在线ipa签名,利用Cydia Impactor免越狱安装未签名APP教程 | ZMMOO
  16. PC微信最新版HOOK接口3.7.6.44
  17. asp_net2_0学习指导 菜鸟到中级程序员的飞跃
  18. c#程序设计 习题7.3
  19. (建议收藏)第一人称视角带你走进 Vue 源码世界
  20. Mat类常用的构造函数

热门文章

  1. vs code 前端如何以服务器模式打开 [安装服务器] server insteall
  2. 在Ubuntu中部署并测试Fabric 1.0 Beta
  3. 《为iPad而设计:打造畅销App》——了解客户
  4. [wxWidget系列] wxWidget的事件机制
  5. Server object instance creation failed on all SOC machines
  6. 如何在Ubuntu 14.10 上安装WordPress?
  7. LeetCode 279. Perfect Squares
  8. matlab与r语言运算速度,R语言与matlab循环时间对比
  9. linux未被识别crond服务,linux 定时任务 crond 服务介绍
  10. vs code react-native 安卓调试_实战|C++在vscode上的调试配置