背包裸题

#include<cstdio>
#include<algorithm>
using namespace std;
int F[2005];
struct node{
int x,y;
}a[1000005];
bool cmp(node a,node b){
return a.x>b.x;
}
int main(){
int n;
scanf("%d",&n);
for (int i=1; i<=n; i++){
scanf("%d%d",&a[i].x,&a[i].y);
a[i].x--;
}
sort(a+1,a+n+1,cmp);
for (int i=0; i<=n; i++) F[i]=-2e9;
F[1]=0;
for (int i=1; i<=n; i++){
if (a[i].x>=0){
for (int j=n; j>=0; j--)
F[min(j+a[i].x,n)]=max(F[min(j+a[i].x,n)],F[j]+a[i].y);
}
else{
for (int j=-a[i].x; j<=n; j++)
F[j+a[i].x]=max(F[j+a[i].x],F[j]+a[i].y);
}
}
int ans=0;
for (int i=0; i<=n; i++) ans=max(ans,F[i]);
printf("%d\n",ans);
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 挂饰(背包问题)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=4247 [题目大意] JOI君有N个装在手机上的挂饰,编号为1...N. JOI君可以将 ...

  3. BZOJ 4247 挂饰 01背包

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=4247 JOI君有N个装在手机上的挂饰,编号为1...N. JOI君可以将其中的一些装在手机 ...

  4. bzoj 4247: 挂饰【dp】

    bzoj上访问负下标会跑到奇怪的地方-- 其实可以滚动数组优化,但是我看能过就懒得改了 设f[i][j]为已经算了前i个挂饰,当前有j个空的钩子,转移就是f[i][j]=max(f[i-1][j],f ...

  5. BZOJ 4247: 挂饰 题解

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

  6. BZOJ 4247: 挂饰 动态规划

    按照挂件数量排序,然后做一个 DP 就好了. code: #include <bits/stdc++.h> #define ll long long #define N 2003 #def ...

  7. bzoj 4247挂饰

    背包????不会... #include<bits/stdc++.h> #define INF 0x7fffffff #define LL long long #define N 1000 ...

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

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

  9. bzoj4247: 挂饰(背包dp)

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

随机推荐

  1. Windows、Unix、Mac不同操作系统的换行问题-剖析回车符\r和换行符\n

    转载链接:http://blog.csdn.net/tskyfree/article/details/8121951 一.概念: 换行符‘\n’和回车符‘\r’ (1)换行符就是另起一行  --- ' ...

  2. javascript中call()、apply()、bind()的用法理解

    一.bind的用法 第一个:obj.showInfo('arg','arg_18');中传的2个参数通过showInfo方法改变的是obj下中的name和age 第二个:obj.showInfo.bi ...

  3. Java有关List的stream基本操作

    参考博客: https://www.jianshu.com/p/9fe8632d0bc2 Stream简介 Java 8引入了全新的Stream API.这里的Stream和I/O流不同,它更像具有I ...

  4. Python学习笔记-day1(if流程控制)

    在python中,流程控制语句为强制缩进(4空格) if username=='lmc' and password=='123456': print('Welcome User {name} logi ...

  5. nrm—源管理工具

    全局安装 npm install -g nrm 查看可选源 nrm ls 其中,带*的是当前使用的源,上面的输出表明当前源是hiknpm 切换源 nrm use taobao 新增源 nrm add ...

  6. IOS 旋转+缩放(手势识别)

    @interface NJViewController ()<UIGestureRecognizerDelegate> @property (weak, nonatomic) IBOutl ...

  7. clearerr, feof, ferror, fileno - 检查以及重置流状态

    总览 (SYNOPSIS) #include <stdio.h> void clearerr(FILE *stream); int feof(FILE *stream); int ferr ...

  8. Dropout & Maxout

    [ML] My Journal from Neural Network to Deep Learning: A Brief Introduction to Deep Learning. Part. E ...

  9. 【转】转自微信公众号 JavaScript 复杂判断的更优雅写法

    与微信公众号看到一篇js复杂判断的文章,对我启发很大,故转到博客园以供后期不断学习并应用于项目.原文地址:https://mp.weixin.qq.com/s/ClFDRj4MnAxv1dJ5VWKS ...

  10. 去除myeclipse中doget和dopost方法中的注释

    当我们使用myeclipse新建servlet时发现doget和dopost方法中有一些无用的注释,每次新建一个servlet时都要手动删除特别麻烦. 下面就教大家如何去除这些注释! 以myeclip ...