01背包问题变形

一、问题

二、解题思路

三、c++代码

下面是我自己理解写的,没有根据标准答案的,那答案在讲啥?。。一直没法AC,,不过还是可以解决问题的。n件物品按单位重量价值降序排序,然后回溯法装,右结点必要时剪枝,刚好凑成重量为m的若干件物品才能得到一个解。

#include<iostream>
#define MAX 50
using namespace std;
int n,m;
double cw,cp,bestp,perp[MAX],w[MAX],v[MAX];

void swap(int i,int j)
{
	double t;
	t=perp[i];perp[i]=perp[j];perp[j]=t;
	t=w[i];w[i]=w[j];w[j]=t;
	t=v[i];v[i]=v[j];v[j]=t;
}

void quicksort(int p,int q)
{
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值