找回密码
 欢迎注册
楼主: 无心人

[讨论] 方幂圈问题

[复制链接]
 楼主| 发表于 2008-12-28 14:54:33 | 显示全部楼层
不合适的

我的算法时间复杂度几乎是线性的呢
你说的算法是O(n^3)的
mathe的要求的空间复杂度是O(n^2)的
17位以下的我都求出来了
你求取个18位的测试下你的想法吧
============================
根据你的思路,我也有了新想法
也许不用大数运算更好
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-12-28 14:57:04 | 显示全部楼层
你说的算法是O(n^3)的
====================
如果是这样的话,Floyd会从棺材里跳出来的.
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-12-28 15:04:37 | 显示全部楼层
反正俺不懂那个
==========================
我说下我的想法
标志1,圈上的某数
标志0,未处理数
标志-1,已处理数
标志2,临时标号
对数字映射\P -> R
测试P的标号,如果不是0跳过
如果P = R直接标号1,表示是长度1的圈,即黑洞数
否则,测试R标号,如果R标号是1或者-1,F 标号-1,转下一个数字
否则迭代计算P -> R, ,且记录下当前位置,并对路径上数字标号2,直到遇到R标号不是0
如果最终R标号是1或者-1,则对记录的所有数字标-1,继续转最开始的数字的下个数字
如果最终R标号是2,则找到一个圈上数字,标R标号是1,并标所有路径其他数字-1

输出所有标号是1的数字,并计算其代表的圈
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-12-28 20:55:05 | 显示全部楼层
media2005或者mathe能说下如何算编号和具体数列的对应关系么?
编号从0开始
序列是递降序列,每项的范围9..1
序列长度是n
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-12-28 20:55:44 | 显示全部楼层
我想,可以做到每项2个比特
所以,还是能算到N = 32的
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-12-29 18:36:41 | 显示全部楼层
我其实已经告诉你了:
"编号从0开始,序列是递降序列,每项的范围9..1,序列长度是n"的所有的序列个数是C(n+8,n).
因此,我们只要知道两件事:
1): 如何把多重组合映射到元素值单一的组合
2): 对元素值单一的组合,怎么将编号和对应组合联系起来.

问题2)很简单.
对从1...n中选m个的某个组合a1,a2,a3,...,am,其对应序号是
C(a1-1,1)+C(a2-1,2)+...+C(am-1,m) . [定义n<m时,C(n,m)=0].
问题1)也不难,你自己想想.
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-12-29 20:02:14 | 显示全部楼层
知道单向映射的就足够了
另外,这个问题不是那么简单的
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-12-30 08:35:32 | 显示全部楼层
问题1):
对从1...n中选m个的多重组合a1,a2,a3,...,am,1<=ai<=ai+1<=n
我们对每个ai加上i-1,显然,经过这样的操作之后,得到的序列是元素值单一的组合了.
这个新的组合的最大元素是多少?显然是n+m-1.
因此,总的个数就是这个新的组合的个数.即:C(n+m-1,m).
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-12-30 10:58:29 | 显示全部楼层
我很笨
这么做的情况下
如何映射到序号?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-12-30 11:41:56 | 显示全部楼层
先把多重组合映射为元素值单一的组合,然后由66#的公式就可以计算出对应的序号了.
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-4-25 00:38 , Processed in 0.147125 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表