《重生学神有系统》第248章 需要对答案吗?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    应该是,结果打成了。

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

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

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

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

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

    江寒默默地想着。

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

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

    江寒举手示意。

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

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

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

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

    可是,能看到脸色啊。

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

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

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

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

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

    监考者会负责收集答案。

    当然,他们也只会在权限内进行上传操作,不会帮忙修改任何一个字母、标点符号。

    然而,是人就会有失误。

    万一因为答案提交环节,出现什么小问题,而导致成绩无效,选手也没地方说理去。

    所以江寒对监考老师微笑致谢,却没有马上走开。

    盯着他将自己的答案,成功提交到了服务器上,然后才拎着一口没喝的矿泉水,拿好自己的各种证件退场。

    刚走出实验楼大门,比赛终止的铃声就响了起来。

    老高迎了上来:“你个臭小子,到底还是没完全听我的话,提前了2分钟交卷,对吧”

    江寒微微一笑:“我是不想跟大家一起提交答案,给服务器增加压力。”

    高俊德点了点头:“不用解释,我也是干这一行的,都明白。”
猜你喜欢
返回首页返回目录