SMRTFUN

题目大意:

有n件物品,每件物品有各自的a值和b值,现在让你选一些物品,在a、b都不是负数的情况下,使a、b值之和最大

输入样例

5
-5 7
8 -6
6 -3
2 1
-8 -5

输出样例

8

样例说明

选择第1,3和4号牛。TS=-5+6+2=3,TF=7-3+1=5,所以,TS+TF=3+5=8。虽然,加上2号牛可以使总和变成10,但是,TF小于0,不符合要求。

数据范围

1⩽N⩽1001\leqslant N\leqslant 1001⩽N⩽100
−1000⩽Si⩽1000-1000\leqslant S_i\leqslant 1000−1000⩽Si​⩽1000
−1000⩽Fi⩽1000-1000\leqslant F_i\leqslant 1000−1000⩽Fi​⩽1000
时间限制:3000MS3000MS3000MS

解题思路:

一开始我们会想到二维背包,但这样回TLE
我们看到背包里面存的数就01会十分浪费,就把第二维放进去计算,这样就省去了一维

代码:

#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int n,a,b,ans,f[202000];
int main()
{scanf("%d",&n);memset(f,-127/3,sizeof(f));f[100100]=0;for (int i=1;i<=n;++i){scanf("%d %d",&a,&b);if (a<0)//分两种情况for (int j=1;j<=200200+a;++j)//a是负数时要倒着f[j]=max(f[j],f[j-a]+b);//DPelsefor (int j=200200;j>=a;--j)f[j]=max(f[j],f[j-a]+b);}ans=-2147483647;for (int i=100100;i<=200200;++i)if (f[i]>=0)ans=max(ans,f[i]+i-100100);//求一个最优的printf("%d",ans);
}

【背包】SMRTFUN相关推荐

  1. HDU 1248 寒冰王座(全然背包:入门题)

    HDU 1248 寒冰王座(全然背包:入门题) http://acm.hdu.edu.cn/showproblem.php?pid=1248 题意: 不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票 ...

  2. 单调队列多重背包时间复杂度O(vn)

    版权声明:本文为博主原创文章,未经博主允许不得转载. 多重背包问题: 有N种物品和容量为V的背包,若第i种物品,容量为v[i],价值为w[i],共有n[i]件.怎样装才能使背包内的物品总价值最大? 网 ...

  3. 浅说——九讲背包之01背包

    所谓九讲,也就是: 0/1背包 0/1背包降维 完全背包 多重背包(二进制优化) 混合背包 二维费用背包 分组背包 有依赖的背包 背包的方案总数\背包的具体方案路径 0/1背包: [问题描述](经典) ...

  4. codevs——2894 Txx考试(背包)

    时间限制: 1 s 空间限制: 32000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description Txx是一个成绩很差的人,考试便成了他的噩梦.于是他常在考试时睡觉以打发时间.今 ...

  5. Codeforces Round #104 (Div. 2) E DP(01背包模型) +组和+除法取模求逆元

    题意: 规定只包含4或7的数为幸运数字,给定n个数的序列,求他的子序列,使得该子序列的长度为k并且满足该子序列中不存在相同的两个幸运数字.问一共寻在多少种可能.(只要该数的下标不同则认为是不同的序列) ...

  6. HDU-1203 I NEED A OFFER!-0、1背包及空间优化

    I NEED A OFFER! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  7. 0-1背包使用一维dp数组时为何v要从大到小枚举

    样例数据 5 8 3 5 1 2 2 4 5 2 1 3 如若不然,也就是让v按照从小到大的顺序枚举,就会出现 注意高亮的那一行,第一件物品的重量只有3,怎么会得到6呢? 代码如下 #include& ...

  8. poj 2063完全背包

    题意:给出总资金和投资年份 ,n个股票 给出股票价格和其一年的利润.问如何选择能获得最大利润. 思路:股票可以重复选择,完全背包问题,完全背包也是从01背包衍生而行的,其主要区别在于中间那层循环的次序 ...

  9. codechef ANUCBC(背包)

    题目链接: https://www.codechef.com/problems/ANUCBC 按模数进行背包 取模不要直接取,分开写,不然会T #include<cstdio> #incl ...

最新文章

  1. 你应该知道的那些Android小经验
  2. DAL层修改sql表数据
  3. 【转载】网易将军令工作原理
  4. oracle awr报告生成_5.性能测试 - Oracle体系结构和性能优化简介
  5. 你造吗?这个属性值你写错了多少年?target=“_blank”
  6. calc(~,mac电脑set-cookies要域名和请求域名相同
  7. js字符串与数字比较大小
  8. PS自定义形状+笔刷添加打造完美水印
  9. CIO如何计算信息化的投资回报率?
  10. Python学习实验报告(1)
  11. 沧小海笔记本之A7系列FPGA资源介绍
  12. mysql 格式化函数总结_Mysql字符串处理函数详细介绍、总结
  13. GC Garbage Collectors
  14. Heart Disease UCI(心脏病相关数据集)
  15. git fork的使用
  16. 985毕业,半路出家28岁进军Java,坚持了三年现如今年薪36W
  17. 埃森哲杯第十六届上海大学程序设计联赛春季赛暨上海高校金马五校赛A题Wasserstein Distance
  18. 2020年秋招联发科小米等20家公司面经总结
  19. 00后确实卷,公司新来的卷王,我们这帮老油条真干不过...
  20. Virtualbox安装Windows11教程,提供虚机专用镜像下载。

热门文章

  1. 用java求直角三角形的面积_JAVA 已知三角形的三个边判断 是否为直角三角形,如果是求面积!...
  2. python单击url下载网页文件_使用不带url的python脚本从网页下载文件,调用onClick函数 - javascript...
  3. char截取字符串_字符串的排列(滑动窗口)
  4. 可视化太酷辽!一文了解排序和搜索算法在前端中的应用
  5. [蓝桥杯2019初赛]修改数组-并查集
  6. python文本替换 数据库_在Python中使用ASCII文件中的注释查找/替换子...
  7. P4705 玩游戏(生成函数,多项式ln)
  8. HDU 6127 Hard challenge(极角 + 二分)
  9. HDU 1404 Digital Deletions(博弈 + SG函数打表)
  10. P4173 残缺的字符串 FFT匹配含有通配符的字符串