题目大意

原题链接:HDOJ 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活

解题思路

我本来想用贪心算法的,可是我写好算法,运行几遍试过了是ok的,只是不给AC,我想了好久,脑壳都快头秃了,才看到一个人的博客里的分析才理解为什么不能使用贪心算法。

#include<bits/stdc++.h>
using namespace std;struct rice{int p;      int h;int c;double rate;
}r[110]; bool cmp(rice a,rice b){return a.rate<b.rate;
}  int main()
{int  C,n,m;cin>>C;while(C--){cin>>n>>m;     //n表示经费,m表示大米的种类 for(int i=1;i<=m;i++){cin>>r[i].p>>r[i].h >>r[i].c ;    // p每袋的价格;h每袋的重量;c对应种类大米的袋数 r[i].rate =(double)r[i].p/(double)r[i].h ;       }sort(r,r+m+1,cmp);double res=0;for(int i=1;i<=m;i++){if(r[i].p *r[i].c >=n){res=res+r[i].h *(n/r[i].p)*1.0;    break;          }else{res=res+r[i].c *r[i].h *1.0;n=n-r[i].p *r[i].c *1.0;       }           }cout<<res<<endl;}return 0;}

我认为这个分析是正确的,所以就只能将完全背包转化为01背包问题解决。

代码实现

#include<bits/stdc++.h>
using namespace std;int c[105],v[105],b[105];
int dp[105];int main()
{int n,m,t;cin>>t;while(t--){cin>>n>>m;for(int i=1;i<=m;i++)cin>>c[i]>>v[i]>>b[i];memset(dp,0,sizeof(dp));for(int i=1 ;i<=m;i++)for(int j=1;j<=b[i];j++)for(int k=n;k>=c[i];k--){dp[k]=max(dp[k],dp[k-c[i]]+v[i]);}cout<<dp[n]<<endl;}return 0;
}

杭电 2191 悼念512汶川大地震遇难同胞—珍惜现在,感恩生活相关推荐

  1. HDUOJ 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活

    HDUOJ 2191 悼念512汶川大地震遇难同胞--珍惜现在,感恩生活 题目链接 Problem Description 急!灾区的食物依然短缺! 为了挽救灾区同胞的生命,心系灾区同胞的你准备自己采 ...

  2. HDU - 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活

    悼念512汶川大地震遇难同胞--珍惜现在,感恩生活 HDU - 2191 AYIT-2021 609暑假集训第一周下 记忆化搜索和背包 急!灾区的食物依然短缺! 为了挽救灾区同胞的生命,心系灾区同胞的 ...

  3. hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2191 题意:标准的多重背包,由于数据量较小,可转化为0-1背包. /*悼念512汶川大地震遇难同胞-- ...

  4. hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 (背包问题)

    悼念512汶川大地震遇难同胞--珍惜现在,感恩生活 Time Limit : 1000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/ ...

  5. [HDU 2191] 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活

    悼念512汶川大地震遇难同胞--珍惜现在,感恩生活 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Jav ...

  6. nyoj106背包问题为模板解出杭电oj2187悼念512汶川大地震遇难同胞——老人是真饿了

    背包问题 时间限制: 3000 ms  |  内存限制: 65535 KB 难度: 3 描述 现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(1<=v,w&l ...

  7. 杭电--2187 悼念512汶川大地震遇难同胞——老人是真饿了(贪心)

    本题连接:点击打开链接 悼念512汶川大地震遇难同胞--老人是真饿了 对于幸存的灾民来说,最急待解决的显然是温饱问题,救灾部队一边在组织人员全力打通交通,一边在组织采购粮食.现在假设下拨了一定数量的救 ...

  8. HDU 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包)

    传送门 Description 急!灾区的食物依然短缺! 为了挽救灾区同胞的生命,心系灾区同胞的你准备自己采购一些粮食支援灾区,现在假设你一共有资金n元,而市场有m种大米,每种大米都是袋装产品,其价格 ...

  9. HDU 2191 - 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 (多重背包)

    题目 急!灾区的食物依然短缺! 为了挽救灾区同胞的生命,心系灾区同胞的CK准备自己采购一些粮食支援灾区,现在假设CK一共有资金n元,而市场有m种大米,每种大米都是袋装产品,其价格不等,并且只能整袋购买 ...

最新文章

  1. 关于多目标任务有趣的融合方式
  2. docker+jenkins+maven+svn
  3. 一文详解Google最新NLP模型XLNet
  4. 多线程—线程池Executor框架及四种常用线程池
  5. P5253-丢番图【数论】
  6. 实验三+067+冯艳芳
  7. spark structured stream的Append模式例子
  8. 4. Storm可靠性
  9. HashPasswordForStoringInConfigFile 已过时
  10. spring 事务的传播行为详解(转)
  11. Unity3D游戏框架设计
  12. WPS/Word参考文献格式规范及引用的方法
  13. 疯狂java讲义pdf百度云,附大厂真题面经
  14. idea 右键修复lint格式问题
  15. Python数据分析-二手车数据用于机器学习二手车价格预测
  16. 常用论文检查语法错误软件和网址
  17. nginx安装 打开php文件自动下载的问题
  18. 2020使用html、js、正则表达式做一个前端注册表单信息验证
  19. 没有公网IP,快速免费内网穿透
  20. 大疆不仅为工程师办比赛,还为他们量身制作了一部动画

热门文章

  1. 2022 Q2:『卖方金工』研报热度​榜单!
  2. 揭秘中国16大暴利行业
  3. CnOpenData中国高校发明公布专利引用数据
  4. Python编程快速上手 让繁琐工作自动化 | 第三章 :实践项目
  5. Python编程快速上手-让繁琐工作自动化第二版
  6. Genesis公链:夯实Web 3.0发展底座
  7. 3D模型欣赏:超写实的性感金发美女3D角色 整体动作造型塑造自然协调【3D游戏建模教程】
  8. Ubuntu安装anaconda做英文词云
  9. 《上海市专业技术职称(资格)评定与专业技术职务评聘相分离的暂行办法》
  10. 中国本土代工王者曾为富士康打工,如今却悄然超越富士康