今天风好大,刮台风了吧 P1064 [NOIP2006 提高组] 金明的预算方案 带有约束的背包类型,约束数目一开始没有看到,导致想不到这个题 这个题目每个物品最多有两个附件,那么可以考虑对主件单独决策. 对于每个主件和他们的附件,有以下考虑. 1.选择主件和对应的两个附件 2.选择主件和对应一个附件(附件1/2) 3.选择主件 4.不选该主件
#include
using namespace std;
const int maxn = 1e6+5;
const int INF = 1e9+7;
typedef long long ll;
typedef pair pii;
#define int long long
#define all(a) (a).begin(), (a).end()
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n,m;cin>>m>>n;
vector v(n+1,0),p(n+1,0),q(n+1,0);
for(int i=1;i>v[i]>>p[i]>>q[i];
}
vector sub(n+1);
for(int i=1;i=v[i]) dp[j] = max(dp[j],dp[j-v[i]]+v[i]*p[i]);
//select 2 object
vector tmp;
for(int k=0;k=v[i]+v[t]) dp[j] = max(dp[j],dp[j-v[i]-v[t]]+v[i]*p[i]+v[t]*p[t]);
}
//select 3 object
if(tmp.size()>=2&&(j>=v[i]+v[tmp[0]]+v[tmp[1]])){
dp[j] = max(dp[j],dp[j-v[i]-v[tmp[0]]-v[tmp[1]]]+v[i]*p[i]+v[tmp[0]]*p[tmp[0]]+v[tmp[1]]*p[tmp[1]]);
}
}
}
cout
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?