zoukankan      html  css  js  c++  java
  • BZOJ 4247: 挂饰

    背包裸题

    #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
    ",ans);
    	return 0;
    }
    

      

  • 相关阅读:
    「2019纪中集训Day20」解题报告
    PHP基础入门
    javascript
    正则表达式
    DOM 节点
    对象
    字符串
    函数
    for循环
    jQuery
  • 原文地址:https://www.cnblogs.com/silenty/p/9909089.html
Copyright © 2011-2022 走看看