背包相关

news/2024/11/28 8:35:22/

ACM模版

背包相关

const int MAXN = 101;
const int SIZE = 50001;int dp[SIZE];
int volume[MAXN], value[MAXN], c[MAXN];
int n, v;           //  总物品数,背包容量//  01背包
void ZeroOnepark(int val, int vol)
{for (int j = v ; j >= vol; j--){dp[j] = max(dp[j], dp[j - vol] + val);}
}//  完全背包
void Completepark(int val, int vol)
{for (int j = vol; j <= v; j++){dp[j] = max(dp[j], dp[j - vol] + val);}
}//  多重背包
void Multiplepark(int val, int vol, int amount)
{if (vol * amount >= v){Completepark(val, vol);}else{int k = 1;while (k < amount){ZeroOnepark(k * val, k * vol);amount -= k;k <<= 1;}if (amount > 0){ZeroOnepark(amount * val, amount * vol);}}
}int main()
{while (cin >> n >> v){for (int i = 1 ; i <= n ; i++){cin >> volume[i] >> value[i] >> c[i];      //   费用,价值,数量}memset(dp, 0, sizeof(dp));for (int i = 1; i <= n; i++){Multiplepark(value[i], volume[i], c[i]);}cout << dp[v] << endl;}return 0;
}

http://www.ppmy.cn/news/141151.html

相关文章

【背包】

首先说下动态规划&#xff0c;动态规划这东西就和递归一样&#xff0c;只能找局部关系&#xff0c;若想全部列出来&#xff0c;是很难的&#xff0c;比如汉诺塔。你可以说先把除最后一层的其他所有层都移动到2&#xff0c;再把最后一层移动到3&#xff0c;最后再把其余的从2移动…

计算机投诉信英语作文,英文投诉信:手提电脑毛病

英文投诉信&#xff1a;手提电脑毛病(prepared by: alexcwlin; edited by: Adam Lam) Alex Lin (Address) (Phone #) (email address) July 3, 20XX Customer Service Best Buy Canada Ltd. Consumer Relations Dept. (Address) Dear Sirs/Madams: Re: Alex Lin Reward Program…

台式计算机mtbf认证,手提电脑MTBF认证

手提电脑MTBF认证 随着科技的逐渐发展&#xff0c;从原来的大机器计算机主导到现在的台式电脑&#xff0c;手提电脑。无论是台式电脑还是手提电脑都是为了让人们在使用的时候更加方便&#xff0c;所以把所有能够完成工作的硬件尽可能减少。商务人士会更加偏向于笔记本便携式计算…

手提电脑notebook

戴尔 Inspiron 6000(P-M 730)为用户预装Windows XP简体中文家庭版SP2&#xff0c;最新售价&#xff1a;11698元&#xff0c;在Inspiron 6000系列支持Sonoma迅驰的机型中这款售价最为便宜&#xff0c;对此感兴趣的朋友可以到DELL官方网站或者拨打800-858-2303电话咨询定购。

电脑鸿蒙系统怎么连接无线网络,手提电脑怎样连接WiFi?

虽然电脑的普及&#xff0c;人们也开始使用便携式设备&#xff0c;而手提式(笔记本)电脑逐渐成为流行&#xff0c;但因为之前习惯使用台式电脑&#xff0c;对于手提电脑的一些设置不是很了解&#xff0c;而手提电脑最大的一个特点就是联网方式从有线变成了无线&#xff0c;只要…

python包

一包介绍 1、什么是包&#xff1f; 官网解释 Packages are a way of structuring Python’s module namespace by using “dotted module names” 包是一种通过使用‘.模块名’来组织python模块名称空间的方式。 具体的&#xff1a;包就是一个包含有__init__.py文件的文件夹…

背包..

const int MAX1; int v; int f[MAX];inline void zoPack(int cost,int weight)//cost 为费用&#xff0c; weight 为价值 {for(int iv;i>cost;i--) if(f[i-cost]weight>f[i]) f[i] f[i-cost] weight; } inline void compPack(int cost,int weight) {for(int icost;i&l…

什么是包?

翻译自ORACLE Java Tutorials –What Is a Package? 一个包是一个命名空间&#xff0c;它组织一组相关的类和接口。 从概念上讲&#xff0c;您可以将软件包看作与计算机上不同的文件夹相似。 您可以将HTML页面保存在一个文件夹中&#xff0c;另一个文件中的图像&#xff0c;另…