当前位置: 代码迷 >> C语言 >> 我遇到了难题,请帮帮忙
  详细解决方案

我遇到了难题,请帮帮忙

热度:147   发布时间:2005-12-12 09:07:00.0
我遇到了难题,请帮帮忙

高手请帮帮忙,我有个题做不出来没有头绪,谢谢

划分问题:(用动态规划)

输入:A={a1,a2,…,an},其中aiZ+(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},aiZ+(1≤i≤n)

∑ai=∑aj (ai∈P,aj∈A-P)


你这些符号怎么打出来的?

高手。。。


----------------解决方案--------------------------------------------------------
用word编辑,插入里有很多特殊符号可以使用

----------------解决方案--------------------------------------------------------
我想请问这个"∑"符号是从那里找的?
----------------解决方案--------------------------------------------------------
  相关解决方案