高手请帮帮忙,我有个题做不出来没有头绪,谢谢
划分问题:(用动态规划)
输入:A={a1,a2,…,an},其中ai∈Z+(1≤i≤n)
输出:是否存在P属于A,使∑ai=∑aj (ai∈P,aj∈A-P)
比方说A={1.3.8.4.10} 则输出P={1.8.4}
(1+8+4=3+10)
一、30个元素
a[]={21,5,38,11,10,17,15,27,25,42,22,8,26,13,16,37,1,24,31,19,2,14,28,3,33,23,43,20,12,14};
二、40个元素
a[]={46,10,33,17,16,23,41,48,28,45,22,11,44,9,15,46,8,40,37,13,34,30,29,20,6,41,15,10,25,22,17,19,8,7,21,38,31,14,49,12};
----------------解决方案--------------------------------------------------------
运筹学问题?没学过 呵呵 不会
----------------解决方案--------------------------------------------------------
将数组排序,然后从最大端开始
找一个大数,就用一个或多个小数替代
如果相等就放在两个集合里(大数集合,小数集合,集合保持有序)
如果不等就调整
调整规则:
如果大数集合比小数集合大添小数,否则添小数
最后就可以得到
最后可能出现余一个数将它放在大数(或小数)集里
将大数(或小数)集合中的等于它的一半的一或多个数放在小数(或大数)集合
[此贴子已经被作者于2005-12-13 21:41:07编辑过]
----------------解决方案--------------------------------------------------------
恩,基本思想是
我先试着编一下
呵呵谢拉
----------------解决方案--------------------------------------------------------
A={a1,a2,…,an},ai∈Z+(1≤i≤n)
∑ai=∑aj (ai∈P,aj∈A-P)
你这些符号怎么打出来的?
高手。。。
----------------解决方案--------------------------------------------------------
用word编辑,插入里有很多特殊符号可以使用
----------------解决方案--------------------------------------------------------
我想请问这个"∑"符号是从那里找的?
----------------解决方案--------------------------------------------------------