Preparing NOJ

子集树问题

1000ms 65536K

Description:

试设计一个用优先队列式分支限界法搜索子集空间树的函数。该函数的参数包括结点可行性判定函数和上界函数等必要的函数,并将此函数用于解0-1背包问题。0-1 背包问题描述如下:给定n种物品和一背包。物品i的重量是w i ,其价值为v i ,背包的容量为C。问应如何选择装入背包的物品,使得装入背包中物品的总价值最大?在选择

装入背包的物品时,对每种物品i 只有2 种选择,即装入背包或不装入背包。不能将物品i装入背包多次,也不能只装入部分的物品i

问题的形式化描述是,给定C0w i 0v i 01in,要求找出n 0-1 向量(x 1 x 2,…, xn )xi∈{01},1in

                                 

Input:

1 行有2 个正整数n C,分别表示有n种物品,

背包的容量为C。接下来的2 行中,每行有n 个数,分别表示各物品的价值和重量。

Output:

程序运行结束时,将最佳装包方案,及其最大价值输出。第

1 行是最大价值,第2 行是最佳装包方案。

Sample Input:

5 10
6 3 5 4 6
2 2 6 5 4

Sample Output:

15
1 1 0 0 1

Note:

 

本题由旧版NOJ导入,来源:

Info

NOJ

Provider NOJ

Code NOJ1328

Tags

Submitted 1

Passed 0

AC Rate 0%

Date 04/20/2019 10:03:10

Related

Nothing Yet