找回密码
 欢迎注册
楼主: litaoye

[求助] 关于一个运算优化的问题

[复制链接]
发表于 2009-3-13 15:28:05 | 显示全部楼层
你怀疑是针对该问题特殊设计的输入数据》
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-3-13 15:28:52 | 显示全部楼层
现在多少秒了?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-3-13 15:55:55 | 显示全部楼层
我的机器只是做4*5000*(5000-1)/2次异或就0.78了,机器不同也感觉不出哪个0.06是个啥概念
不过,如果是随机生成数据的话,不用这么麻烦吧。
只要到着一个个判断就很快了吧
function log10(n){
    if(n>10^38) return 38;
    if(n>10^37) return 37;
    .....
}
如果知道数据不是随机,应该根据规律来,在某个数据的快慢不说明啥问题
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-3-13 16:03:31 | 显示全部楼层
差异大的两数不必非得XOR计算,
其结果位数可由两者较大的决定。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-3-13 16:19:30 | 显示全部楼层
A = 10^20 - 2^20
B = 2^20
A XOR B = 10^20

log10(A) =    19.99999999999999544609229344
log10(A XOR B) = 20
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-3-13 16:22:13 | 显示全部楼层

回复 72# 无心人 的帖子

现在被我改的通过不了了!呵呵,正在找错误!
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-3-13 16:31:05 | 显示全部楼层
各位请解释下75#的例子
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-3-13 16:35:08 | 显示全部楼层
75#的例子还能构造出很多很多很多很多

所以你们以为的差异大可以忽略的结论是错误的啊
虽然可以做出判定条件
但似乎也太多了点吧
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-3-13 16:37:19 | 显示全部楼层
楼主的这个说法不妥:

  1. 如果最高位m高于10^n,且低于10^n+1,那么这个数同最高位小于m的数进行Xor并取log10后的结果,都是n,
复制代码


应该改为


  1. 考虑二进制位,如果最高位m高于10^n的最高位,且低于10^(n+1)的最高位,那么这个数同最高位小于m的数进行Xor并取log10后的结果,都是n,
复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-3-13 16:39:36 | 显示全部楼层
XOR当两个数字的比特位是1的位置均不相同的时候等于运算+

所以,肯定存在10进制进位的可能,当然绝对不存在二进制进位
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2024-4-24 20:11 , Processed in 0.052429 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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