该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2006-11-23
clamp 写道 jesse 写道 最大值 = n*(n-1)/2 + 1
(因为数列1,2,4,7,....,Mi,Mi+i-1,....,是其中一个规则解) (这个题目的问题应该是判断n个正整数时,有多少最优解,否则没任何意义,当然可以通过程序把所有的最优解列举出来。 最优解的个数=(n-2)*(n-3)* ......* 2 * 1 (通过递规的方式穷举所有的结果) //sigh,不要这么小看这道题目好不好? 再仔细思考思考吧 btw:你给出的所谓规则解是错的。 哦,我没有小看这个题,已经仔细思考过了,如果方法或者结果不对,请指出。 |
|
返回顶楼 | |
发表时间:2006-11-23
引用 哦,我没有小看这个题,已经仔细思考过了,如果方法或者结果不对,请指出。
4-1=7-4=3 所以,1,2,4,7……不可能是解 |
|
返回顶楼 | |
发表时间:2006-11-23
对了,clamp还没说是什么应用背景呢?
|
|
返回顶楼 | |
发表时间:2006-11-23
clamp 写道 4-1=7-4=3所以,1,2,4,7……不可能是解 sorry,题目没理解清楚:) 可总结的公式有: Mn >= n*(n-1)/2 + 1 对于每一个选定的Mn,按照以下公式进行递归, i * (i - 1)/2 + 1 <= Mi <= Mn - (n-i)*(n-i+1)/2 不过很复杂,需要记录太多中间数据 |
|
返回顶楼 | |
发表时间:2006-11-23
cookoo 写道 对了,clamp还没说是什么应用背景呢?
以前我看的一篇文章找不到了,google了半天还是只有ieee的一篇讲的比较清楚 http://ieeexplore.ieee.org/iel5/8159/23900/01094073.pdf 大致意思是在频分复用(FDMA)系统中,需要在一个有限的频率段内划分出尽可能多的通道, 但是由于干扰的存在(术语叫三阶互调变失真),因此通道数量受到极大的限制。 而其中一种划分通道的方法被称为fang-sandrin数列,其数学表现形式就是这道题目了。 这道题目解的结果会直接影响到频率段利用的情况,价值很大,需要的数学知识其实也很简单,基本数论就够了,是一道很标准的算法题。 (我不是这方面出身的,具体用词可能不太正确,请专业人士指正) 补充:终于找到一篇中文的 http://www.policetech.com.cn/2005_shownews.asp?newsid=838 |
|
返回顶楼 | |
发表时间:2006-11-24
clamp 写道 cookoo 写道 对了,clamp还没说是什么应用背景呢?
以前我看的一篇文章找不到了,google了半天还是只有ieee的一篇讲的比较清楚 http://ieeexplore.ieee.org/iel5/8159/23900/01094073.pdf 大致意思是在频分复用(FDMA)系统中,需要在一个有限的频率段内划分出尽可能多的通道, 但是由于干扰的存在(术语叫三阶互调变失真),因此通道数量受到极大的限制。 而其中一种划分通道的方法被称为fang-sandrin数列,其数学表现形式就是这道题目了。 这道题目解的结果会直接影响到频率段利用的情况,价值很大,需要的数学知识其实也很简单,基本数论就够了,是一道很标准的算法题。 (我不是这方面出身的,具体用词可能不太正确,请专业人士指正) 补充:终于找到一篇中文的 http://www.policetech.com.cn/2005_shownews.asp?newsid=838 多谢提供资料,文中说的两种算法(其实是一种,第二种先简化穷举范围,不过我们这题没有什么间隔条件)都是暴力算法。我已经写了一个简单的暴力程序,但是算得实在太慢了,看来还需要更多灵感来优化一下。 |
|
返回顶楼 | |
发表时间:2006-11-27
如果存在,面点和必为 18
结果有: A1=4 ; A2=5 ; A3=7 ; A4=2 ; A5=1 ; A6=8 ; A7=6 ; A8=3 ; |
|
返回顶楼 | |
发表时间:2006-11-27
找到一种数值分布的较快方法:
1、将八个输入的整数从小到大排序,设排序后的整数在数组V[8]里; 2、 从一个顶点开始,设定该顶点为B1,为该顶点赋V[0]; 然后找B1的正方体对角顶点,设定为B2,为该顶点赋V[1]; 然后找B2的一个边相邻顶点,设定为B3,为该顶点赋V[2]; 然后找B3的正方体对角顶点,设定为B4,为该顶点赋V[3]; 然后找B4的一个边相邻顶点(排除已遍历的顶点),设定为B5,为该顶点赋V[4]; 然后找B5的正方体对角顶点,设定为B6,为该顶点赋V[5]; 然后找B6的一个边相邻顶点(排除已遍历的顶点),设定为B7,为该顶点赋V[6]; 然后找B7的正方体对角顶点,设定为B8,为该顶点赋V[7]; 结论是通过上面对八个数进行部署后,如果满足每个面相等的条件那么这就是一个解;否则输入的八个数无解。 对于规则的八个数,比如等差数列,上面的探索路径可以证明,但是对于随意的八个正整数,我还是没有证明出来,也没有找到反例可以推翻那种遍历寻找的正确性。 |
|
返回顶楼 | |
发表时间:2007-01-31
当然要高度抽象化才有其深层次的意义。。。
|
|
返回顶楼 | |