标题:【求助】c语言,新手,我又 RE 又 MLE 又 TLE 了,不知道怎么办了,帮忙看看 ...
只看楼主
vvvcuu
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:12
帖 子:353
专家分:1253
注 册:2014-4-22
得分:0 
回复 19 楼 beyondyf
能说一下为什么定义数组为f[51]吗?

代码测试环境:  WinXP+C-Free5.0.
2014-07-19 11:40
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
得分:0 
云彩过奖了,好久不见。

回复楼上:

根据鸽笼原理可知f必是一个周期函数,且其周期不会超过49。

为了编程方便(少敲几条指令)我将周期循环的起始元素向后偏移了两个,这样实际需要记录的元素只有51个。

同样为了编程方便我将f数组的第0元素弃之不用,所以实际用到的元素是50个,这与上面的分析不符(少了一个)。

这是没有问题的。原因在于我实际测试了所有可能的f序列,发现其实际最大的周期只有48,实际中不存在周期为49的序列。

再强调一下,我以上所说的“周期”都是指最小周期。

重剑无锋,大巧不工
2014-07-22 15:10
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
得分:0 
回复 22 楼 beyondyf
怎么说呢,暑假在家一直反思过去一年对java的理解有多少,前一段时间
自己做了好几个中小型的网站,基于jsp的,才发现自己有想法但缺乏
经验,总觉得缺乏很多成熟的设计理念和编程思想。

但唯一清醒的是,还是要搞好算法,算法跟数据结构太重要了,涉及面特别广。

所以比较少时间来C语言论坛。不过倒是在闲余时间到水区聊天

思考赐予新生,时间在于定义
2014-07-22 21:14
xuanyuxian
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2014-7-17
得分:0 
回复 19 楼 beyondyf
鸽笼原理?我去查查。
f[j + (n - j) % (i - j)中的j其实可以换成周期内的任意一个数吧,对吗?

把运算的语句放到for()里面会不会优化一些?

但是如果那样找的话,每个i和i-1都要与前面的每一对j和j-1对比,私以为还是先存起来,再判断是否出现两个1好一些
2014-07-25 13:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-434117-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.208756 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved