首页
社区
课程
招聘
[结束][第二阶段◇第二题]看雪论坛.腾讯公司2008软件安全技术竞赛
发表于: 2008-10-21 11:51 13131

[结束][第二阶段◇第二题]看雪论坛.腾讯公司2008软件安全技术竞赛

2008-10-21 11:51
13131
收藏
免费 0
支持
分享
最新回复 (118)
雪    币: 503
活跃值: (80)
能力值: (RANK:280 )
在线值:
发帖
回帖
粉丝
76
我倒是觉得这个评分方式比之前的合理,只是这道题似乎和安全没有太大关系
2008-10-23 04:03
0
雪    币: 398
活跃值: (343)
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
77
个人还是觉得偏了,有两点理由
1. PEDIY和CSDN不一样,PEDIY上真正能写代码的人不会太多,这些人当中,VB流,delphi流,asm流又不占少数,比如我们的地肯哥哥就是酱紫。这就限制了参与这个题目的人数了
2. 规则还是不明确,我到现在还是不能确定,大数库是不是一定要自己写,如果拿现成的成熟的大数库抄抄改改怎么算分?我们的答案中如果小数点精确度不够又怎么算呢?还有代码规范,每个公司,每个团伙的规范都是不同的,不知道TX的裁判想要看到什么样的规范呢?
2008-10-23 08:52
0
雪    币: 7309
活跃值: (3788)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
78
这题的评分方式是比以前合理,但是这种题目要求这样评分是不合理的

不限制运算位数,我们假设就两个100万位的数进行相乘这一个算式

普通乘法的时间复杂度是 0(N*N)
利用快速傅里叶变换的大数乘法时间复杂度是 O(N*log2 (N) )

假设有2个人分别用这2种算法比赛

那么用普通乘法的人的分数就是
30 +  (log2(1000000)/1000000) * 70
= 30 + 19.93156/1000000 * 70
= 30 + 0.001395
= 30.001395

用快速傅里叶变换算法的人的分数是
30 + 70 = 100

差距也太大了,试问,要求是自己写大数运算库,论坛上有几个人能自己写出快速傅里叶变换算法?(我是肯定不行了)

还有很多其他细节问题,我就不一一列举了
2008-10-23 09:39
0
雪    币: 993
活跃值: (442)
能力值: ( LV12,RANK:403 )
在线值:
发帖
回帖
粉丝
79
同感啊
2008-10-23 12:59
0
雪    币: 8209
活跃值: (4518)
能力值: ( LV15,RANK:2473 )
在线值:
发帖
回帖
粉丝
80
这题的意义确实不大
就算按规则得100分的那个人,他写出来的大数库基本也是个废品,以后谁会去用呢
2008-10-23 14:45
0
雪    币: 8209
活跃值: (4518)
能力值: ( LV15,RANK:2473 )
在线值:
发帖
回帖
粉丝
81
如何鉴别一个大数库是自己写的还是改抄别人的也没有标准啊
2008-10-23 14:48
0
雪    币: 503
活跃值: (80)
能力值: (RANK:280 )
在线值:
发帖
回帖
粉丝
82
说的是,还好楼主没要计算100万位。。。否则只能google了
2008-10-23 16:37
0
雪    币: 503
活跃值: (80)
能力值: (RANK:280 )
在线值:
发帖
回帖
粉丝
83
规则里没有写不能抄袭别人的大数库,是不是可以理解成就不反对抄袭?事实上短时间自己写一个基本上也不可能超过ooura,fftw这些久负盛名的算法,即便写好了确实也不太可能再用上了
2008-10-23 16:46
0
雪    币: 8209
活跃值: (4518)
能力值: ( LV15,RANK:2473 )
在线值:
发帖
回帖
粉丝
84
楼主告诉你说不超过100万位了?
2008-10-23 16:53
0
雪    币: 503
活跃值: (80)
能力值: (RANK:280 )
在线值:
发帖
回帖
粉丝
85
补充说明
1.文档中符号描述部分不是很精确,符号包涵小数点'.',等于号'='(这个主要可以明确定位最后的位置,方便解析),负号'-'等,另外空白符自动过滤掉。
2.“文件output.txt中输出运算结果,要能输出结果小数点后至少40位。”这句话中40位是说明在超过40位小数的情况下保留40位小数,其余有多少位就保留多少位,或者愿意补足0也可以。
3.不能专门对输入做优化这句话说得是不能特地输出特定输入的结果。
4.“参与运算的数位不限”,这个不考虑超过2^30的情况(考虑的话也非常欢迎)。
2008-10-23 17:50
0
雪    币: 101
活跃值: (88)
能力值: ( LV2,RANK:140 )
在线值:
发帖
回帖
粉丝
86
支持~~~~
2008-10-23 17:51
0
雪    币: 101
活跃值: (88)
能力值: ( LV2,RANK:140 )
在线值:
发帖
回帖
粉丝
87
神仙~~~~
2008-10-23 17:52
0
雪    币: 7309
活跃值: (3788)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
88
100万 =  10^6

符号 >> 表示远大于

2^30是指二进制还是十进制?
如果是二进制,2^(2^30) = 16^(2^28) >> 10^6
如果是十进制,10^(2^30) >> 10^6

注意,2^30是指位数,不是数值上限

楼下帮我看看有没有算错
2008-10-23 18:06
0
雪    币: 8209
活跃值: (4518)
能力值: ( LV15,RANK:2473 )
在线值:
发帖
回帖
粉丝
89
小数点后至少40位
参与运算的数位不限,这个不考虑超过2^30的情况

上面两个位字该是相同含义,2^30应该大于10亿了,远远大于100万,乌龟大师要设计成10亿位的运算能力才行
2008-10-23 18:25
0
雪    币: 503
活跃值: (80)
能力值: (RANK:280 )
在线值:
发帖
回帖
粉丝
90
我把2^30的理解成bit了
小数点后的位数应该是不同的概念,不管怎么说,这题光是理解题目都是个问题,汗死了
2008-10-23 18:44
0
雪    币: 277
活跃值: (106)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
91
根据这个说法,如果没有规定位数上限,这个题用常规方法基本无解,或者说运算时间会超长,海风月影提到的FFT算法我不熟悉,也需要时间去熟悉……

另外我要说的是精度问题,要求保留40位小数,在大数相除的情况下,到底保留多少位,在后面的运算中能够保持40位值的准确性??允许的误差又是在什么范围?

最后这题好像变成了一个高等数学问题,偶高等数学学的不好,提前放弃  
2008-10-23 19:15
0
雪    币: 101
活跃值: (12)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
92
我也是, 看了三天题目没看懂
2008-10-23 20:21
0
雪    币: 8209
活跃值: (4518)
能力值: ( LV15,RANK:2473 )
在线值:
发帖
回帖
粉丝
93
我看不要管效率了,能算出结果拿30分也不错啊
2008-10-23 21:30
0
雪    币: 8209
活跃值: (4518)
能力值: ( LV15,RANK:2473 )
在线值:
发帖
回帖
粉丝
94
规则没有说最慢的限制
我想写个运行100年才能算出结果的,也是30分啊
2008-10-23 21:33
0
雪    币: 503
活跃值: (80)
能力值: (RANK:280 )
在线值:
发帖
回帖
粉丝
95
膜拜楼上
我突然想起第一题的FFFFFFFF
2008-10-23 21:37
0
雪    币: 7309
活跃值: (3788)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
96
那个大T时间还是用评委程序来测比较公平吧

如果比评委的快,那么就超过100分,这样比较公平
2008-10-23 22:05
0
雪    币: 199
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
97
来晚了,本来我两年之前就写好了一个大数运算库的手机版,看来还是晚了,就不参加了,
2008-10-23 22:11
0
雪    币: 221
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
98
俺怎么还是没看懂呢
2008-10-23 22:27
0
雪    币: 136
活跃值: (20)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
99
放弃这题了。
说真的,做起来没太大意义。
要在几天的时间里写一套效率高的大数浮点运算,太不实际了。
2008-10-24 14:11
0
雪    币: 2134
活跃值: (14)
能力值: (RANK:170 )
在线值:
发帖
回帖
粉丝
100
30分是编程得分,还有的分就是优化等的得分,看各人的发挥
2008-10-24 14:50
0
游客
登录 | 注册 方可回帖
返回
//