4247: 挂饰
来源:互联网 发布:unity3d jpg 编辑:程序博客网 时间:2024/06/05 05:10
题目链接
题目大意:容量可以为负的01背包
体积为正的逆序枚举,为负的顺序枚举……根据01背包原理YY一下就知道了
我的收获:方便的负数下标重载技巧
#include <iostream>#include <cstring>#include <cstdio>#include <climits>#include <algorithm> using namespace std; #define INF LLONG_MAX/2#define M 2020#define ll long long int n,w,v; struct arr{ ll a[M<<1]; ll &operator[](int x){ if(x<-n) x=-n;if(x>n) x=n; return a[x+2000]; }}f; void DP(){ f[0]=0; for(int i=1;i<=n;i++){ scanf("%d%d",&w,&v);w=-w+1; if(w>=0) for(int j=n;j>=-n;j--) f[j+w]=max(f[j+w],f[j]+v); else for(int j=-n;j<=n;j++) f[j+w]=max(f[j+w],f[j]+v); }} void work(){ DP(); ll ret=0;for(int i=-n;i<=1;i++) ret=max(ret,f[i]); cout<<ret<<endl;} void init(){ cin>>n; for(int i=-n;i<=n;i++) f[i]=-INF;} int main(){ init(); work(); return 0;}
阅读全文
0 0
- 4247: 挂饰
- BZOJ 4247 挂饰 背包
- [DP] BZOJ 4247 挂饰
- bzoj 4247: 挂饰
- BZOJ 4247(挂饰-背包)
- BZOJ 4247: 挂饰|动态规划
- bzoj 4247: 挂饰 动态规划
- BZOJ 4247: 挂饰 背包dp
- bzoj 4247: 挂饰 背包dp
- bzoj 4247: 挂饰(DP)
- hdu 4247
- 【BZOJ4247】挂饰
- bzoj4247 挂饰
- BZOJ4247: 挂饰
- [BZOJ4247] 挂饰
- 【BZOJ4247】挂饰
- 挂饰 BZOJ
- bzoj4247: 挂饰
- Section 2.3-nocows
- 常用的shell脚本
- [JAVAWEB]8.JSP中的JavaBean和动作元素(一)
- 中文分词之HMM模型详解
- Spring MVC整合Mybatis
- 4247: 挂饰
- jsday01(表格 超链接 表单)
- 单点登录原理与简单实现
- 一个全能型的friend~
- 初识七牛云
- windows10升级网络连接校园网的配置
- Android:微信和支付宝的APP支付接入
- jQueryEasyUI Messager基本使用
- 你真的理解了compileSdkVersion,minSdkVersion,targetSdkVersion含义了吗?