返回第248章 需要对答案吗?(1 / 2)一碗酸梅汤首页

关灯 护眼     字体:

上一章 目录 下一页

预处理的方案很多,但各有利弊。

比如,在这道题中,如果使用线段树来做预处理,需要维护三个值:区间内最小值、最大值、数的个数。

这种办法有个缺点,当i的值很大时,有可能会内存开销过大,导致空间超限。

根据规定,程序可以使用的内存只有128兆,一旦使用的内存超出限制,则整道题0分。

为了解决这个问题,就需要进行离散化操作,平添难度。

江寒通过分析,综合比较、权衡了一番后,选择了比较保险的双向链表模拟算法。

相比线段树,双向链表不需要离散化,但是细节比较多,调试起来会稍微麻烦一点。

江寒自然不怕这点麻烦,一个是他对双向链表掌握得很好,二来早上吃那么多东西,就是为了用在这种地方的。

只要舍得全力开动脑力,编写起这种复杂度的代码来,只是小意思。

还剩下一个半小时,时间上是完全够用的。

对输入数据进行了预处理之后,接下来就可以寻求题目要求的解答了。

这一步,可以用“倍增法”进一步提速,这样就可以保证,在很短的时间内算出答案,避免时间超限。

由于答案数字很大,这道题也要用高精度来处理一下。

但和第二题又有点不一样,这道题的精度压力,其实并没有那么离谱,完全可以尝试采用lnglng数据类型来解决。

如果为了万无一失或者炫技,当然也可以再次手写一个高精度算法。

但江寒经过分析、计算,认为lnglng已经完全够用,就没费那个劲儿。

放在几年前,在等各种编程比赛中,lnglng还是禁止使用的数据类型,但从去年开始,官方终于放松了限制,明文允许使用了。

这样一来,很多难题的编程复杂度,就被大大地削减了。

编写完第三题的代码,调试通过后,江寒又设计了一些数据去检测,结果完全正确。

看看时间,还剩下半个小时。

这个时间自然也不能浪费,江寒将代码整理了一番,清理掉调试数据,注释掉不需要的输出,删除多余的文件。

最后,再跑了一遍代码,确认毫无问题后,又利用最后十分钟,复查了一遍文件夹、源代码、输入输出文件的命名,排除各种低级错误。

别说,还真让江寒查出了一个问题,第1题的输出文件名,打漏了一个字母。

应该是,结果打成了。

这可不是什么小问题,如果没查出来,就是致命错误。

如果文件名弄错了,程序编得再完美,也只能爆0!

每年都有不少“大神”级别的高手,折在这种低级错误上。

好在江寒的时间非常宽裕,这才能及时发现并纠正。

不过,等到明天进行y2比赛时,就要吸取教训了。

江寒默默地想着。

像是这样的地方,最好从题目中直接复制、粘贴过来,不要再手打

一切梳理妥当后,时间也差不多了,还剩最后两分钟。

江寒举手示意。

监考教师走了过来:“什么事?”

“交卷。”江寒轻声回答。

顿时,刷刷刷,许多目光扫了过来。

因为机器摆放的问题,没有人可以看到别人的屏幕。

可是,能看到脸色啊。

发现江寒一脸的云淡风轻,那些人顿时就心里明镜,这只怕是一位真大神。

也只有真正的竞赛高手,才会时间充裕到这种程度,不等监考教师主动喊停,主动交卷。

监考教师核对了一下江寒的答题文件夹,然后就示意他可以离场了。

这就是比赛比较人性化的地方了。

比赛时间截止后,所有选手只需有秩序离场,别的什么也不用管。

监考者会负责收集答案。

『加入书签,方便阅读』

上一章 目录 下一页