动态规划 03 (采药)

来源:互联网 发布:hitleap类似的软件 编辑:程序博客网 时间:2024/05/26 07:29

03 采药

t代表采药总时间,m代表药的数目,接下来m行,输入采每个药的时间和价值,求最大价值。

01背包问题,用一个结构体good,里面c代表时间,w代表价值。

用数组f【i】【v】表示前 i件药材花费时间 v,那么可得公式 f【i】【v】=max{f【i-1】【v】,f【i-1】【v-c【i】】},即第 i件药材放或者不放的问题。在实际代码中,二维数组可进行空间优化,用f【j】表示即可,f【】数组在变化中更新达到目的。

代码如下:

#include<bits/stdc++.h>using namespace std;const int MAX=101;const int MAXX=1001;struct good{int c;int w;}goods[MAX];int main(){int i,j,n,v;int f[MAXX]; cin>>v>>n;for(i=0;i<=v;i++)//f【v】代表  体积为 v   能装的最大价值 f[i]=0; for(i=0;i<n;i++)cin>>goods[i].c>>goods[i].w;for(i=0;i<n;i++)//前 i件 {for(j=v;j>=goods[i].c;j--)//体积 j {if(f[j]<f[j-goods[i].c]+goods[i].w)//公式 f[j]=f[j-goods[i].c]+goods[i].w; }}cout<<f[v]<<endl;return 0;}



0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 tcl电视待机打不开怎么办 宽带电视看不了怎么办 电视总是闪退怎么办 电视出现系统更新怎么办 电视一直在更新怎么办 电视更新死机了怎么办 法院打电话不接怎么办 内向不敢辞职怎么办呀 生气后睡不着觉怎么办 被气得睡不着怎么办 一生气就睡不着怎么办 手机接电话声音小怎么办 发微信老公不回怎么办 欠钱没有欠条怎么办 朋友欠钱不还怎么办没欠条 个人欠销售货款怎么办 货款一直不还怎么办 欠钱不接电话找不到人怎么办 欠钱人电话不接怎么办 客户欠款不给怎么办 客户货款打一半怎么办 欠款人不到庭怎么办 别人打电话不接怎么办 百合注册被禁用怎么办? 监控显示未登录怎么办 发票认证了两次怎么办 拼多多账号异常怎么办 淘新闻账号异常怎么办 白领贷逾期了怎么办 用钱包信用不足怎么办 易借金app闪退怎么办 随心借不还款怎么办 苹果x来电显示慢怎么办 被垃圾短信轰炸怎么办 苹果手机被轰炸怎么办 苹果被短信轰炸怎么办 苹果电脑开不开机怎么办 苹果8plus黑屏怎么办 iphone7开不了机怎么办 苹果7自动黑屏怎么办 苹果手机黑屏打不开怎么办