Time Limit: 10 Sec  Memory Limit: 256 MB
Submit: 1390  Solved: 566
[Submit][Status][Discuss]
Description
JOI君有N个装在手机上的挂饰,编号为1...N。 JOI君可以将其中的一些装在手机上。
JOI君的挂饰有一些与众不同——其中的一些挂饰附有可以挂其他挂件的挂钩。每个挂件要么直接挂在手机上,要么挂在其他挂件的挂钩上。直接挂在手机上的挂件最多有1个。
此外,每个挂件有一个安装时会获得的喜悦值,用一个整数来表示。如果JOI君很讨厌某个挂饰,那么这个挂饰的喜悦值就是一个负数。
JOI君想要最大化所有挂饰的喜悦值之和。注意不必要将所有的挂钩都挂上挂饰,而且一个都不挂也是可以的。
Input
第一行一个整数N,代表挂饰的个数。
接下来N行,第i行(1<=i<=N)有两个空格分隔的整数Ai和Bi,表示挂饰i有Ai个挂钩,安装后会获得Bi的喜悦值。
Output
输出一行一个整数,表示手机上连接的挂饰总和的最大值
Sample Input
50 42 -21 -10 10 3
Sample Output
5
HINT
将挂饰2直接挂在手机上,然后将挂饰1和挂饰5分别挂在挂饰2的两个挂钩上,可以获得最大喜悦值4-2+3=5。1<=N<=20000<=Ai<=N(1<=i<=N)-10^6<=Bi<=10^6(1<=i<=N)Source
JOI 2013~2014 春季training合宿 竞技4 By PoPoQQQ

简单的背包(?)

//Stay foolish,stay hungry,stay young,stay simple
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;const int MAXN=2005;inline int rd(){int ret=0,f=1;char c;while(c=getchar(),!isdigit(c))f=c=='-'?-1:1;while(isdigit(c))ret=ret*10+c-'0',c=getchar();return ret*f;
} int f[MAXN][MAXN];
int n;struct Node{int a,b;
}nodes[MAXN];bool cmp(const Node &x,const Node &y){return x.a> y.a ;
}int main(){n=rd();memset(f,0xcf,sizeof(f));for(int i=1;i<=n;i++) nodes[i].a = rd(),nodes[i].b = rd();sort(nodes+1,nodes+1+n,cmp);f[0][1]=0;for(int i=1;i<=n;i++){for(int j=0;j<=n;j++){f[i][j]=max(f[i-1][j],f[i-1][max(j-nodes[i].a,0)+1]+nodes[i].b);
//          cout<<f[i][j]<<endl;}}int ans=0;for(int i=0;i<=n;i++) ans=max(ans,f[n][i]);cout<<ans<<endl;return 0;
}

[BZOJ] 4247 挂饰相关推荐

  1. BZOJ 4247 挂饰 背包DP

    4247: 挂饰 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/problem.php?id ...

  2. bzoj 4247: 挂饰(DP)

    4247: 挂饰 Time Limit: 10 Sec  Memory Limit: 256 MB Submit: 1230  Solved: 497 [Submit][Status][Discuss ...

  3. BZOJ 4247 挂饰

    4247: 挂饰 Time Limit: 10 Sec Memory Limit: 256 MB Submit: 1388 Solved: 565 [Submit][Status][Discuss] ...

  4. bzoj 4247: 挂饰

    Description JOI君有N个装在手机上的挂饰,编号为1...N. JOI君可以将其中的一些装在手机上. JOI君的挂饰有一些与众不同--其中的一些挂饰附有可以挂其他挂件的挂钩.每个挂件要么直 ...

  5. bzoj 4247: 挂饰 背包dp

    题意 JOI君有N个装在手机上的挂饰,编号为1-N. JOI君可以将其中的一些装在手机上. JOI君的挂饰有一些与众不同--其中的一些挂饰附有可以挂其他挂件的挂钩.每个挂件要么直接挂在手机上,要么挂在 ...

  6. BZOJ.4247.挂饰(背包DP)

    题目链接 如果贪心,正的显然先选.然后处理负的,好像要用背包. 看这数据范围不如直接用背包.\(f[i][j]\)表示前\(i\)个物品,剩下\(j\)个钩子的最大价值. 因为没有钩子的放前面无法转移 ...

  7. bzoj千题计划197:bzoj4247: 挂饰

    http://www.lydsy.com/JudgeOnline/problem.php?id=4247 先把挂饰按挂钩数量从大到小排序 dp[i][j]前i个挂饰,剩下j个挂钩的最大喜悦值 分挂和不 ...

  8. bzoj4247 挂饰

    4247: 挂饰 Time Limit: 10 Sec  Memory Limit: 256 MB Submit: 1098  Solved: 440 [Submit][Status][Discuss ...

  9. bzoj4247: 挂饰(背包dp)

    4247: 挂饰 Time Limit: 10 Sec  Memory Limit: 256 MB Submit: 1136  Solved: 454 [Submit][Status][Discuss ...

最新文章

  1. 开启windows ping端口功能
  2. 享元模式 Flyweight Pattern
  3. prometheus监控_使用Prometheus和Grafana监视开放自由
  4. Coprime Sequence 思维 gcd 删一个数
  5. jwt, json web token
  6. python期末题目_Python期末复习题必考
  7. java+jxls利用excel模版进行导出
  8. 虚拟服务器和虚拟主机(空间)的区别
  9. openstack热添加磁盘
  10. Zemax操作41--公差分析(一)
  11. 安全公司发现雄迈数字摄像机的主控口令“已泄露”
  12. 读万卷书,行万里路,写万行Code
  13. 构建之法助教园地第一次作业--点评西北师范大学|李晓婷
  14. 单点登录SSO----JSON Web Token(JWT)机制
  15. 基于ONVIF协议的(IPC)客户端程序开发-10 设备校时
  16. 读懂matlab代码,一个Matlab的寻峰程序没有看懂,不知大家能否帮助?
  17. 汉诺塔(内部+伪图形)
  18. Java Service Wrapper 发布Java程序为Windows服务
  19. TensorFlow及深度学习相关资料积累汇总【不定期更新】
  20. 树莓派之更改开机画面

热门文章

  1. 有趣的 CentOS 7 命令
  2. 充电器用着用着就松了怎么办_充电器为什么用着用着就松了
  3. iis 安装织梦DedeCMS 教程
  4. 数据库与缓存一致性解决方案
  5. 2021年深圳宝安区科技计划申报条件及补贴,资助500万元
  6. 计算机基础知识(电脑的基本组成原则)
  7. Java教程之mysql分库分表方案
  8. python微博爬虫教程_Python爬虫教程-新浪微博分布式爬虫分享
  9. 在写文档封面时,word中下划线变粗
  10. 【解决】HikariPool-1 - Connection is not available, request timed out / Thread starvation or clock leap