P3793礼物和糖果

问题描述

何老板要给大家买节日礼物,他有M元钱,学校小卖部有N种礼品,因为店长和何老板是熟人,所以若第i种礼品买x(x>0)件的话,店长会给何老板Ai*x+Bi颗糖果。
因为何老板非常喜欢吃糖,所以他希望获得的糖果越多越好。现给出每种礼品的单价Wi、Ai值与Bi值,问何老板最多能得到多少颗糖果?

输入格式

第一行,两个空格间隔的整数M和N
接下来N行,每行三个整数Wi, Ai 和 Bi,描述一种礼物的情况。

输出格式

一行,一个整数,表示何老板能得到的最大糖果数

样例输入

100 2
10 2 1
20 1 1

样例输出

21

提示

1 ≤ M ≤ 2000
1 ≤ N ≤ 1000
0 ≤ Ai, Bi ≤ 2000
1 ≤ Wi ≤ 2000


将一个物品拆成两个物品,一个物品价格为 A[i]+B[i] A[i]+B[i],只能买一个。
另一个物品价格为 A[i] A[i],可以买无限个。
然后背包dp即可。


代码:

#include<stdio.h>
#include<iostream>
#include<algorithm>
#define N 2222
using namespace std;
int m,n,W[N],A[N],B[N],F[N];
int main()
{int i,j,k;scanf("%d%d",&m,&n);for(i=1;i<=n;i++)scanf("%d%d%d",&W[i],&A[i],&B[i]);for(i=1;i<=n;i++){for(j=m;j>=W[i];j--)F[j]=max(F[j],F[j-W[i]]+A[i]+B[i]);for(j=W[i];j<=m;j++)F[j]=max(F[j],F[j-W[i]]+A[i]);}cout<<F[m];
}

NKOJ 3793 礼物和糖果(背包dp)相关推荐

  1. 【LibreOJ】#6395. 「THUPC2018」城市地铁规划 / City 背包DP+Prufer序

    [题目]#6395. 「THUPC2018」城市地铁规划 / City [题意]给定n个点要求构造一棵树,每个点的价值是一个关于点度的k次多项式,系数均为给定的\(a_0,...a_k\),求最大价值 ...

  2. 背包dp的核心思想(动态规划)

    背包dp 突然发现我一直没有真正理解背包,真正的背包应该是用空间换时间的一种dp方法,本质上就是n个物品选或不选,理论上有2n2^n2n种可能结果,但是背包利用的就是值域很小这一特点来重叠子结构,所以 ...

  3. Codeforces 864E Fire(背包DP)

    背包DP,决策的时候记一下 jc[i][j]=1 表示第i个物品容量为j的时候要选,输出方案的时候倒推就好了 #include<iostream> #include<cstdlib& ...

  4. 【bzoj4007】[JLOI2015]战争调度 暴力+树形背包dp

    题目描述 给你一棵 $n$ 层的完全二叉树,每个节点可以染黑白两种颜色.对于每个叶子节点及其某个祖先节点,如果它们均为黑色则有一个贡献值,如果均为白色则有另一个贡献值.要求黑色的叶子节点数目不超过 $ ...

  5. HDU 1011 Starship Troopers 树形+背包dp

    http://acm.hdu.edu.cn/showproblem.php?pid=1011   题意:每个节点有两个值bug和brain,当清扫该节点的所有bug时就得到brain值,只有当父节点被 ...

  6. 【bzoj1222】[HNOI2001]产品加工 背包dp

    题目描述 某加工厂有A.B两台机器,来加工的产品可以由其中任何一台机器完成,或者两台机器共同完成.由于受到机器性能和产品特性的限制,不同的机器加工同一产品所需的时间会不同,若同时由两台机器共同进行加工 ...

  7. 【bzoj4753】[Jsoi2016]最佳团体 分数规划+树形背包dp

    题目描述 JSOI信息学代表队一共有N名候选人,这些候选人从1到N编号.方便起见,JYY的编号是0号.每个候选人都由一位编号比他小的候选人Ri推荐.如果Ri=0则说明这个候选人是JYY自己看上的.为了 ...

  8. 【bzoj5072】[Lydsy十月月赛]小A的树 树形背包dp

    题目描述 给出一棵n个点的树,每个点有黑白两种颜色.q次询问,每次询问给出x和y,问能否选出一个x个点的联通子图,使得其中黑点数目为y. 输入 第一行一个正整数 T 表示数据组数. 对于每一组数据,第 ...

  9. 【背包DP练习】洛谷 P5020货币系统 P1757通天之分组背包 P1064[NOIP2006 提高组]金明的预算方案 P5322 [BJOI2019]排兵布阵

    洛谷 P5020货币系统 https://www.luogu.com.cn/problem/P5020 思路是把货币从小到大排序,然后按顺序依次完全背包dp,每次dp检查i-1种面值的货币能不能凑出第 ...

最新文章

  1. Android View 的onDraw 和 draw 一定会调用吗?
  2. 杭州java班学费多少_杭州学java费用多少
  3. 《人潮汹涌》的观后感
  4. 商城计价中心 - 从容应对复杂场景价格计算
  5. PyQt5 打包问题解决 Unable to find “D:\anaconda3\lib\site-packages\PyQt5\Qt\translations\qtwebengine_locale
  6. mysql 批量替换域名_msyql 中批量替换url网址中的域名方案。
  7. 罗永浩团队于天津成立品牌管理公司
  8. linux 快速合并文本文件,Linux-Linux中高效合并文本文件的方法
  9. 大数据应用于生活,目前主要应用在哪些领域?
  10. Failed to create/setup connection: This driver is not configured for integrated authentication
  11. 英语手记——持续更新
  12. 针对win10激活出现的一系列问题解决方法
  13. 单位1-Mbps、Kbps、bps、kb、mb及其换算和区别
  14. Linux内核TSS的使用
  15. [BUUCTF]PWN——mrctf2020_shellcode_revenge(可见字符shellcode)
  16. 软件构造课程心得——软件构造实验二(Lab2)
  17. visual studio 2019 相关配置选项
  18. ai怎样导出所选部分_Illustrator(AI)选定对象批量导出jpg/pdf脚本插件(win/mac)...
  19. 你离电影级别的PPT页面,只差一个操作指南
  20. C++智能指针 intrusive_ptr

热门文章

  1. 设计师如何放飞提升自己广告创意
  2. validate取消form验证
  3. 磷酸铁锂溶液除钙镁技术分析
  4. 银屑病与大肠(调研手稿四)
  5. 您应该知道的几个安卓照片恢复应用程序
  6. 达摩院视觉AI训练营-视觉AI技术应用探索-学习笔记
  7. ubuntu16.04安装ceres库
  8. Array.sort用法
  9. 清洗行业专用消泡粉的产品介绍与对于清洗行业作用除泡
  10. MySQL中SQL生命周期与执行流程