tyvj[1089]smrtfun
描述
输入格式
接下来N行,每行两个整数,表示A_i和B_i。
输出格式
测试样例1
输入
-
-
- - -
输出
备注
题解
由于题目有∑a[i]>0且∑b[i]>0的限制,不能直接将i的价值处理为a[i]+b[i]的值并贪心挑选,只能用动态规划
用f[i][j]表示前i个物品∑a[i]=j时,∑b[i]的最大值
考虑a[i],b[i]>0的情况,直接用方程f[i][j]=max{f[i-1][j-a[i]]+b[i]}转移即可
由于题目中的a[i],b[i]∈[-1000,1000],要将所有a及j向数轴正方向移动1000*100的距离,令下标j满足恒为正
因为考虑到f[i][]仅和f[i-1][]有关,可以用滚动数组优化空间(继续100*200000的空间也可以过)
#include<cstring>
#include<iostream>
#define N 100
#define D 100000
using namespace std;
int n,a[N|],b[N|],f[N][D<<|],ans,c;
int main(){
ios::sync_with_stdio(false);
cin>>n;
for(int i=;i<=n;i++)
cin>>a[i]>>b[i];
memset(f,-,sizeof(f));
f[][D]=;
for(int i=;i<=n;i++){
c^=;
for(int j=D<<;j>=;j--)
f[c][j]=f[c^][j];
for(int j=D<<;j>=;j--){
if(j>=a[i])f[c][j]=max(f[c][j],f[c^][j-a[i]]+b[i]);
if(j>=D&&f[c][j]>=)ans=max(ans,j-D+f[c][j]);
}
}
cout<<ans<<endl;
return ;
}
tyvj[1089]smrtfun的更多相关文章
- [BZOJ3223]Tyvj 1729 文艺平衡树
[BZOJ3223]Tyvj 1729 文艺平衡树 试题描述 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区间,例如原有序序列是5 4 3 2 1,翻转区 ...
- [BZOJ3224]Tyvj 1728 普通平衡树
[BZOJ3224]Tyvj 1728 普通平衡树 试题描述 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:1. 插入x数2. 删除x数(若有多个相同的数,因只删除一个) ...
- BZOJ3223: Tyvj 1729 文艺平衡树 [splay]
3223: Tyvj 1729 文艺平衡树 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 3595 Solved: 2029[Submit][Sta ...
- 1089 最长回文子串 V2(Manacher算法)
1089 最长回文子串 V2(Manacher算法) 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 回文串是指aba.abba.cccbccc.aaaa ...
- BZOJ 3224: Tyvj 1728 普通平衡树
3224: Tyvj 1728 普通平衡树 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 9629 Solved: 4091[Submit][Sta ...
- BZOJ 3223: Tyvj 1729 文艺平衡树
3223: Tyvj 1729 文艺平衡树 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 3628 Solved: 2052[Submit][Sta ...
- TYVJ P1080 N皇后
描述 检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行.每列只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子. 列号 1 2 3 4 5 6 -- ...
- kkjcre1p: unable to spawn jobq slave process, slot 0, error 1089(Linux x86_64)补丁
在shutdown immediately的时候,alert Log出现如下错误信息,并且不能正常关闭 kkjcre1p: unable to spawn jobq slave process, sl ...
- TYVJ博弈论
一些比较水的博弈论...(为什么都没有用到那什么SG呢....) TYVJ 1140 飘飘乎居士拯救MM 题解: 歌德巴赫猜想 #include <cmath> #include < ...
随机推荐
- 制作具有SSH、MySQL功能的Chroot
由于工作需求,需要在Linux上建立SSH.MySQL两个用户. 使这两个账户连接到跳板机后仅能执行有限的命令(SSH用户只能执行SSH命令,MySQL用户只能执行MySQL命令). MySQL账户C ...
- 操作系统开发系列—10.内核HelloWorld ●
a.我们先来体验一下在Linux下用汇编编程的感觉,见代码 [section .data] ; 数据在此 strHello db "Hello, world!", 0Ah STRL ...
- HDOJ1001-1005题解
1001--Sum Problem(http://acm.hdu.edu.cn/showproblem.php?pid=1001) #include <stdio.h> int sum(i ...
- 你真的了解UIViewController跳转吗?
一:UIViewController模态跳转 //展示模态视图 - (void)presentViewController:(UIViewController *)viewControllerToPr ...
- 【读书笔记】iOS-数据交换格式
数据交换格式主要分为:纯文本格式,XML格式和JSON格式. 一,XML数据交换格式. 多年来,一直在各种计算机语言之间使用.它是老牌的,经典的,灵活的数据交换方式. 1,文档结构. 2,XML文档解 ...
- 【原】iOS设计模式之:建造者模式Builder Pattern,用于改进初始化参数
本文主要讨论一下iOS中的Builder Pattern.与网上很多版本不同,本文不去长篇大论地解释建造者模式的概念,那些东西太虚了.设计模式这种东西是为了解决实际问题的,不能为了设计模式而设计模式, ...
- iOS开发--关于TableViewCell的可视化设置细节
由于时间问题,本篇博文很简略. 1.关于设置Cell的边距问题
- Asp.net禁用页面缓存的方法总结
1.在Asp页面首部<head>加入 复制代码 代码如下: Response.Buffer = True Response.ExpiresAbsolute = ...
- 示例详解:UIScrollview 与 Autolayout 的那点事
前言 自从写了介绍Masonry那篇文章以后 就一直有人对UIScrollView的那个例子不是很理解 UIView *container = [UIView new]; [scrollView ad ...
- NGINX高性能Web服务器详解(读书笔记)
原文地址:NGINX高性能Web服务器详解(读书笔记) 作者:夏寥寥 第4章 Nginx服务器的高级配置 4.1 针对IPv4的内核7个参数的配置优化 说明:我们可以将这些内核参数的值追加到Linu ...