越难的题目权重应该更大,从总分来看,优势在他。
很快,第二个小时也已经过去,场地上还剩下十个学生。
对于没搞过竞赛,或者没学过的建模的人来说,这道题略有超模了。
可是出乎余枫和陈斗天预料的是,第三道题竟然返璞归真,又是一道基础的算法题。
给出一张二维的迷宫,以最快的方式找到从入口走到出口的道路。
陈斗天的第一反应是,太简单了吧。
只要从入口和出口同时各派出一点,向内寻找通路,直到两条并行的进程最后相交于一点,便可以轻松地解决这个问题。
同时正着走和反着走,比起老老实实从入口走到出口,就至少节省了一半的时间。
唯一的难题是,在检索道路的时候,如何计算两点之间的距离。毕竟看上去很近的两点,可能会由于中间隔着围墙,导致计算出来的近路,或许是远路。
难点在这吗……
一旁的余枫同时陷入了思考。
题目的连贯性,断掉了。
就像比完拳法之后比刀枪,比刀枪之后应该是热兵器,结果出题人大手一挥,说我们爱好和平,继续比摔跤。
以出题人之前的水平来看,应该不会犯这种级别的失误。
那么出题人的意图究竟在哪呢?
没有想法的余枫此时重审了一遍题目,直到他注意到了前两题中都没有用到一句话。
“请注意我们测试平台的配置。”
原来如此。
读到这句话时,余枫终于明白了出题人的深意。
这道题需要的是,编程者在给定硬件平台下的优化能力。
普通的商业软件有可能在各种配置的手机和电脑上运行,很少有人会为不同内存或芯片配置的机器再设计一套精确的优化方案。
也就是说,用三年前的手机和现在手机,下载运行的都是同一款软件,没有什么区别。
但人工智能的训练则不同,它需要在特定的集群上运算,并且计算的耗费的时间就等于项目花费的金钱。
也就是说在程序设计之初,针对集群配置的优化是很有效并且有必要的。
出题人的思路仍然遵循着一条清晰地脉络:1.计算的优化 2.通信的优化 3.适配硬件的优化。
而第三道题真正的难度,是学生能主动思考到这个地步,也就是把这件三件事同时考虑进去。
给出的迷宫地图很大,并且接下来读取哪块地图并没有什么规律,因为走迷宫的方向并不确定。
因此先将可能会访问的迷宫地图优先预加载到内存中,并且在读写时优先考虑到高速缓存的配置,来选择迷宫的方向。
从题目可以反推出出题人的水准,把这道题解完,他真想好好见一见这个出题人。
这个荣奕集团聘请的专家,的确有两把刷子。
优化的侧重点不同,码代码的速度也不同,但余枫和陈斗天两人几乎是同时提交到OJ平台上。
不过由于地图测试用例过大,还需要一些等待的时间。
陈斗天坐在位置上焦急地等待结果,余枫则起身去了趟洗手间。