<

第136章 不,你的这条才是(1 / 2)

在配对的过程中,徐佑也考虑到了,2和5出现的数量问题。

无疑,2的个数一定是多于5的个数的。

这样一来,问题就变成了,统计阶乘数里有多少個5这个因子。

“等一下……像25、125这样的数字,里面其实是包含不止一个5的因子的。”

徐佑很快注意到了这一重要的问题。

如果忽略这个情况,那最后的结果就会出现错误。

最终,徐佑在电脑上,编辑出了短短的五行代码,并给彭俊发送了过去。

“不错啊!”

在看到徐佑发来的代码后,彭俊也不禁对徐佑的解答表示着肯定。

虽然这道题不算什么难题。

但能在几分钟的时间内,给出如此漂亮的答案。

彭俊知道,大部分计算机专业的本科生,也是未必能做到的。

“这孩子,应该是自己做出来的吧。”

彭俊相信,既然徐佑向自己寻求题目,按理说肯定不会去搜索答案的。

但为了进一步确定徐佑的能力,彭俊决定,再给徐佑出一个难题,还是那种网上根本搜不到的题目。

“不错,做得很好,代码也很简洁。再给你发一道难度更大的题目吧。”

这一次,彭俊将一道自己改编过的题目,向徐佑发送了过去。

看着这道新的题目,徐佑很快陷入到思考之中。

“给出k个有序的数组:L1,L2,……,Lk,每一个长度为n,可以对该数组进行线性时间的预处理。然后回答如下询问:给出x,回答每个数组中第一个小于x的元素是什么?”

这一次,徐佑也确实感到了,题目难度的提升。

要是徐佑这些天没有学完这些门课程的话,估计是连题目都看不懂的。

徐佑首先想到的方法,是对于每个数组二分查找。

但这样的话,复杂度会非常高,达到了O(klogn)。

很快,徐佑便找到了另外的一个思路。

“如果用-Casg的话,就可以将复杂度降低到O(k+logn)了。”

所谓的-Casg,也就是分散层叠算法,可以对经典分块问题进行大大的优化。

按照这个思路,徐佑重新进行算法的构思,并很快整理出了一套全新的方案。

“这样一来,只要第一次使用二分,之后每次都是常数查找就可以了。”

完成了算法数据结构的编辑后,徐佑将自己的解法发送给了彭俊。

看见徐佑的答案,彭俊又是不禁连连点头。

“这小子,还真不是在跟我开玩笑。能做到这个水平,绝对是把这些课程都学透了的。”

这个时候,彭俊也不得不对徐佑的学习能力盛赞了起来。

彭俊并不知道,徐佑到底是如何在这短短的十天时间里,把几乎整个计算机本科阶段的知识都学习完毕,同时很好的掌握了这些知识。

就算是每天花出十几个小时的时间,甚至都不够把这些课程全部都看一遍的。

但徐佑既然能够做到,说明他肯定有自己独特的学习方法。

“不错,这个问题的回答也很好,不仅能够解决问题,而且算法的优化程度也很不错。徐佑,你是我见过学的最快的一个学生了。”

虽然这只是彭俊随便出的一道题,还不能完全考察徐佑的计算机知识能力。

但既然随便出一道题,徐佑都能做得这么好,那徐佑多半是把大部分知识都掌握了的。