BZOJ 4247 挂饰 背包DP
4247: 挂饰
Time Limit: 1 Sec
Memory Limit: 256 MB
题目连接
http://www.lydsy.com/JudgeOnline/problem.php?id=4247
Description
Input
Output
Sample Input
0 4
2 -2
1 -1
0 1
0 3
Sample Output
HINT
题意
题解:
背包问题,dp[i][j]表示在考虑第i个物品的时候,还剩下j个挂钩
注意,要按照挂钩多少排序,如果不排序的话,挂钩有可能会变成负数,然后又被加成正数
代码抄自:http://blog.csdn.net/creationaugust/article/details/48133509
代码:
//qscqesze #include <cstdio> #include <cmath> #include <cstring> #include <ctime> #include <iostream> #include <algorithm> #include <set> #include <bitset> #include <vector> #include <sstream> #include <queue> #include <typeinfo> #include <fstream> #include <map> #include <stack> typedef long long ll; using namespace std; //freopen("D.in","r",stdin); //freopen("D.out","w",stdout); #define sspeed ios_base::sync_with_stdio(0);cin.tie(0) #define maxn 4051 #define mod 10007 #define eps 1e-9 int Num; //const int inf=0x7fffffff; //нчоч╢С const int inf=0x3f3f3f3f; inline ll read() {ll x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}return x*f; } //**************************************************************************************struct node {int x,y; }; bool cmp(node a,node b) {return a.x>b.x; } node a[maxn]; ll dp[maxn>>1][maxn]; int main() {int n=read();for(int i=0;i<=n;i++)dp[0][i]=dp[i][n+1]=-inf;for(int i=1;i<=n;i++)a[i].x=read(),a[i].y=read();sort(a+1,a+1+n,cmp);ll ans=0;dp[0][1]=0;for(int i=1;i<=n;i++){for(int j=0;j<=n;j++){dp[i][j]=max(dp[i-1][max(j-a[i].x,0)+1]+a[i].y,dp[i-1][j]);}}for(int i=0;i<=n;i++)ans = max(ans,dp[n][i]);printf("%d\n",ans); }
BZOJ 4247 挂饰 背包DP相关推荐
- bzoj 4247: 挂饰 背包dp
题意 JOI君有N个装在手机上的挂饰,编号为1-N. JOI君可以将其中的一些装在手机上. JOI君的挂饰有一些与众不同--其中的一些挂饰附有可以挂其他挂件的挂钩.每个挂件要么直接挂在手机上,要么挂在 ...
- BZOJ.4247.挂饰(背包DP)
题目链接 如果贪心,正的显然先选.然后处理负的,好像要用背包. 看这数据范围不如直接用背包.\(f[i][j]\)表示前\(i\)个物品,剩下\(j\)个钩子的最大价值. 因为没有钩子的放前面无法转移 ...
- bzoj 4247: 挂饰(DP)
4247: 挂饰 Time Limit: 10 Sec Memory Limit: 256 MB Submit: 1230 Solved: 497 [Submit][Status][Discuss ...
- BZOJ 4247 挂饰
4247: 挂饰 Time Limit: 10 Sec Memory Limit: 256 MB Submit: 1388 Solved: 565 [Submit][Status][Discuss] ...
- bzoj4247: 挂饰(背包dp)
4247: 挂饰 Time Limit: 10 Sec Memory Limit: 256 MB Submit: 1136 Solved: 454 [Submit][Status][Discuss ...
- bzoj 4247: 挂饰
Description JOI君有N个装在手机上的挂饰,编号为1...N. JOI君可以将其中的一些装在手机上. JOI君的挂饰有一些与众不同--其中的一些挂饰附有可以挂其他挂件的挂钩.每个挂件要么直 ...
- [BZOJ] 4247 挂饰
Time Limit: 10 Sec Memory Limit: 256 MB Submit: 1390 Solved: 566 [Submit][Status][Discuss] Descripti ...
- 【BZOJ4247】挂饰 背包
[BZOJ4247]挂饰 Description JOI君有N个装在手机上的挂饰,编号为1...N. JOI君可以将其中的一些装在手机上. JOI君的挂饰有一些与众不同--其中的一些挂饰附有可以挂其他 ...
- bzoj千题计划197:bzoj4247: 挂饰
http://www.lydsy.com/JudgeOnline/problem.php?id=4247 先把挂饰按挂钩数量从大到小排序 dp[i][j]前i个挂饰,剩下j个挂钩的最大喜悦值 分挂和不 ...
最新文章
- 阿里云实现putty私钥登录全过程
- 01_ClickHouse概述,速度,分布式架构,列式存储,数据压缩,DBMS功能,有限支持DELETE、UPDATE功能,高吞吐写入功能,分布式计算,向量化执行引擎、架构、大数据处理架构
- 异常-根据错误类型捕获异常
- 西安外国语大学计算机基础,西安外国语大学教务处.PDF
- 一个入门级别的前端打包工具
- 数值计算方法matlab课后答案,《现代的数值计算方法matlab版》习题解答.pdf
- python下载网络图片_Python下载网络图片方法汇总与实现
- 中南民族大学计算机科学学院2011级2014年至2015年度课表,中南民族大学应用心理学专业2012-2013-2学期辅修-双学位课表(2010、2011级)...
- java 代理模式详解
- 【node进阶】深入浅出前后端身份验证(上)---session
- java基础热门侠客养成_侠客养成手册攻略大全 新手快速上手攻略[多图]
- “丧心病狂” kite
- str系列函数详解(包会)
- 吉林大学高级程序设计(红皮书)(最后几章)
- 易语言查找过滤相同重复文本源码
- 使用matplotlib在图片上画框框
- 20条非常实用的Python代码实例
- pytorch训练网络冻结某些层
- 可汗学院学习总结(一)
- 什么是Tomcat?Tomcat是什么意思?
热门文章
- beyond compare4过期解决方法_面试必备:缓存穿透、雪崩解决方案及缓存击穿的四种解决方案...
- python3编码命名规范_Python代码规范和命名规范
- 我的世界linux服务器怎么加种子,我的世界怎么获得服务器种子?服务器种子获得方法介绍...
- 应用回归分析何晓群课第五版_海外第三方应用市场分析丨出海学院十九期直播课...
- 【杂谈】超过12个,150页深度学习开源框架指导手册与GitHub项目,初学CV你值得拥有...
- 【信息抽取】如何使用卷积神经网络进行关系抽取
- 【年终总结】有三AI至今在人脸图像算法领域都分享了哪些内容?
- 【AI基础】OpenCV,PIL,Skimage你pick谁
- 全球及中国彩妆行业渠道模式调研与发展方向分析报告2022版
- JuJu团队12月28号工作汇报