专家,求组合算法!急需,谢谢。

问题描述

需求:根据长度和数量得出最合适以最为接近12为结果的分段组合。以最节省材料为准,总长度为12M要求分割的长度和数量:长度数量8.8M3条7.6M5条4.4M8条3M4条1.5M15条需要得出结果:8.8M+3M=11.8M3条7.6M+4.4M=12M5条4.4M+3+(1.5*3)=11.9M1条4.4+(1.5*5)=11.9M2条1.5*7=10.51条以最省材料分割为基准,12M为总长度。高手请指教,我是初学者,请详细讲一下思路,如果有代码也请给一下啊,自己做了一天还没想出来,网上也没有找到,

解决方案

解决方案二:
感觉蛮复杂的。写一个数组。{8.8,8.8,8.8,7.6,7.6。。。。。。}等写到一起。接近12的去除。然后再排。然后再比较总的分组。好麻烦的。有时间写写。
解决方案三:
长度和数量是可输入的,可以输入多组数据;如果用数组的方法可能运算会很复杂
解决方案四:
专题开发/技术/项目->数据结构与算法这个版块的高人更多。
解决方案五:
写个算法循环遍历即可
解决方案六:
建议看下运筹学的,整数0.1规划那章,忘记了
解决方案七:
希望此贴能解决严得关注中。
解决方案八:
找个最小二乘法的代码看看。思路差不太多。首先设一个能接受的上下限值.
解决方案九:
这个问题,与动态规划,简单背包问题差不多。
解决方案十:
该回复于2008-06-16 08:36:16被版主删除
解决方案十一:
引用3楼wuyi8808的回复:

专题开发/技术/项目->数据结构与算法这个版块的高人更多。

值得考虑。可以请求版主给你转帖
解决方案十二:
引用3楼wuyi8808的回复:

专题开发/技术/项目->数据结构与算法这个版块的高人更多。

还有这种所在,以后有空去瞅瞅
解决方案十三:
这个...就是长度不能大于12,并且分组尽可能少的意思吗?
解决方案十四:
降序排列,依次求和,提出最接近的,循环遍历即可

时间: 2024-09-12 21:34:43

专家,求组合算法!急需,谢谢。的相关文章

matlab 编程 ...-求个有效的基于matlab 的去雾算法,谢谢大神了!

问题描述 求个有效的基于matlab 的去雾算法,谢谢大神了! 基于matlab 的去雾算法,毕设做雾霾天气下交通标志的检测,去雾算法总是做不好,希望大神可以帮帮忙啊 解决方案 求matlab大神的帮助,拜托拜托 解决方案二: http://download.csdn.net/detail/fih21/9527777

算法 递归 数据结构-求解释代码,添加注释或者画图解释(在网上看到的求组合的递归算法,绕晕头了看不懂,求解释)

问题描述 求解释代码,添加注释或者画图解释(在网上看到的求组合的递归算法,绕晕头了看不懂,求解释) public class Test1 { public static void main(String[] args) { select(2); } private static void select(int k) { char[] result = new char[k]; subselect(0 1 result k); } private static void subselect(int

wu man 多模式匹配-跪求 wu-- manber算法源代码

问题描述 跪求 wu-- manber算法源代码 跪求wu manber算法源代码 小弟在做一个关于多模式匹配的项目 急需源代码 谢谢各位

求一个算法

问题描述 客户有如此需求,不知道是懒,还是正常.感觉有难度.哈哈请大家帮忙分析一下.先谢谢.需求:财务部经常收到某客户几个合同的汇款,所以他们要人工去一个个找,可能正好等于,或某几个合同的款项.或最接近的某几个合同(有预付款的情况)比如某客户A共有6个合同A001123.4元A002200元A003300元A004350元A005450元A006500元情况一(某数相等).客户汇款为:200元那么对应合同号:A002情况二(某几个数相加相等).客户汇款为:423.4元那么对应合同号:A001.A

c语言-[C语言]求一个算法,输入N个数,输出所有其中任意M个数相加等于定值S的结果

问题描述 [C语言]求一个算法,输入N个数,输出所有其中任意M个数相加等于定值S的结果 如题,比如输入1,,2,10,5,7,8,9,11,输出其中任意几个数相加等于12的结果(不重复), 不自身相加. 1+2+9=12 10+2=12 7+5=12 解决方案 这题如果不考虑优化问题--轮询吧--总共有2的n次方种组合-学过排列组合的都知道

排列组合算法

    排列:从n个不同元素中,任取m(m<=n)个元素按照一定的顺序排成一列,叫做从n个不同元素中取出m个元素的一个排列:从n个不同元素中取出m(m<=n)个元素的所有排列的个数,叫做从n个不同元素中取出m个元素的排列数,用符号A(n,m)表示. A(n,m)=n(n-1)(n-2)--(n-m+1)= n!/(n-m)! 此外规定0!=1     组合:从n个不同元素中,任取m(m<=n)个元素并成一组,叫做从n个不同元素中取出m个元素的一个组合:从n个不同元素中取出m(m<=

c语言-C语言程序求帮忙解惑,谢谢了

问题描述 C语言程序求帮忙解惑,谢谢了 求1000以内的素数 #include void main() { int m,k,n=0; for(m=2;m<1000;m++) { for(k=2;k<m;k++) { if(m%k==0) { break; } } if(k>=m) { printf("%d ",m); if(++n%9==0) printf(" "); } } } 为什么一定要在k>=m是才输出呢 解决方案 急求C语言程序!!

退火算法-java最优组合算法问题,编程实现字母最优组合生成最优解

问题描述 java最优组合算法问题,编程实现字母最优组合生成最优解 要求:输入A~K中的任意几个字母(无重复),对这些字母进行组合.输出最优组合的最小组数n和组合方案,使用java语言. 约束条件:A可以和B一组: A可以和E.F.G一组: C.D.H要单独分组: I可以和E.F.G一组: J可以和E.F.G一组: K可以和E.F.G一组: 如果可以,希望用退火算法的思想来解决本问题.毕设赶着要用这个算法,希望尽快提供解决方案,拜谢! 解决方案 两两组合,还是可以多个组合? 解决方案二: 必须是

求一个算法。。路过的进来看看~~~~

问题描述 比如:1,2,3,4,5五个数(有可能多有可能少),如果我传入一个2就说明我要分成2个部分,结果是:12,34513,24514,23515,23423,14524,13525,13434,12535,12445,123-----------如果我出入一个3就说明要分成3组结果如:--------12,34,513,24,514,23,515,23,4......---------------------请兄弟姐妹们写写算法呵呵谢谢了~~~ 解决方案 解决方案二:有意思!解决方案三:哦