子集和问题:
集合s是一个有n个正整数构成的集合{w1,w2,……,wn},指定正整数c,判断正整数c,判断是否存在S的一个子集S1,使得w∈S1,∑w=c;
若子集和问题有解,则输出子集S1的元素;
1.说明:
设n个元素(正整数)存储在w数组中,应用动态规划设计求解;
目标函数: max(n)∑(i=1)xi wi
约束条件: (n)∑(i=1)xi wi<=c(xi∈{0,1},c,wi∈N*,i=1,2,……,n)
按构建S1选择每一个元素为一个阶段,共分为n个阶段;
(1)、建立递推关系;
设m(i,j)为集合S1距离c还差j,可取整数编号范围为:i,i+1,……,n的最大和,则:
当0<=j< w(i)时,整数w(i)不可选,m(i,j)与m(i+1,j)相同;
当j>=w(i)时&#x