题解 1100: 采药

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

采药-题解(C++代码——20行以内解决动态规划解法)

解题思路:dp[i][j]代表在i时间内可以取j种草药时的最大价值,dp[i][j]只与前一种状态dp[i][j-1]与dp[i-time[cur]][j-1]+value[j]有关,即在i时间内可以取j种草药时的最大价值等于在i-time[cur]时间内可以取j-1种草药时的价值加第j种草药的价值与

0/1背包问题,一维数组求解

/*背包问题基本01:递推公式:w[i]:商品占用价值;val[i]:商品价值;f[v]=max(f[v],f[v-w[i]]+val[i])*/```#include#include#includeusingnamespacestd;constintmaxn=1e4;intf[maxn];intw[
优质题解

JakeLin-1100题-采药-题解(C++代码)-DP/详解

#####一、0/1背包动态规划的思想就是:眼前到了这第i棵药,我有**两种选择**:**1.我要采它:**若我采了它,那么我所拥有的时间会减少,而我所获得的价值会增加**2.我不采它:**若我不采它,那么我的时间不会减少,价值也不会增加,还保留在i-1步的价值------------二、我们约定俗成

1100: 采药 (c++代码)

```cpp#includeusingnamespacestd;constintmaxn=110,tmaxn=1010;intcost[maxn],value[maxn],dp[tmaxn],t,m;intmain(){cin>>t>>m;for(inti=1;i>cost[i]>>value[i];

【C++】采药 动态规划思路

解题思路:其实最开始我(蒟蒻)看到这道题想用贪心来做,结果贪心是真的不适合寻找全体的最优解。深搜的话感觉还是有些复杂,要保留记忆,所以便使用动态规划来求,这样其实还挺简单的。代码不长也比较好理解。(baka琪露诺也能看懂的x注意事项:其实本题非常像01背包那道题,但是难度要低好多。

1100: 采药(dp数组,动态规划,01背包)

解题思路:这段代码使用动态规划解决了一个背包问题。首先,定义了两个数组cost和value,分别用来存储每个物品的费用和价值。同时定义了一个dp数组,用来存储背包在不同容量下的最大价值。接下来,通过cin输入了t和m,分别表示背包的容量和物品的数量。

1100: 采药(C++)

摘要:解题思路:    本题是01背包类型的题目,无法通过排序的方法来简化比较过程,故采用二维数组动态规划的办法解题.参考代码://采药 #include<iostream> #include<vect……

采药 (C++代码)

解题思路:首先,这题是一道水的不能在水的题了其次,我还是想说这题真的太水了,就是一模一样的01背包问题,输入输出都没改就是改了一个题目背景转化时间为背包容量和草药占的量先讲一下二维dp:让我假设现在的背包的容量是C=10;物品编号:123物品重量:564物品价值:201012用v[i]表示物品价值,

采药 (C++代码)

摘要:解题思路:采药问题01背包有相通之处,基本上就是01的动态规划思想注意事项:参考代码:#include<iostream> #include<cstdio> using namespace std……