介绍

2021年底左右,我开始认真投入职业比赛,因为得到了我想要的蓝色,我想写一首诗(正常的一面)作为休息。

背景

我是社会人,毕业于非信息系统系信息系统实验室,获硕士学位。我不能说什么。
从编程能力来看,我还是学生的时候,讲课的次数和会编程的学生人数有限,所以没有机会接触到高质量的资料,所以我写了必要的代码用于研究。我的能力有限。

遇到并开始竞争性编程

相遇可以追溯到学生时代。

实际上,我只做了一次 atcoder,目的是为了现场参加代码感谢节(就像吃药一样)。算法数据结构我没有学好,只能解决试管灰等问题,但是因为参加人数还少,所以能去现场。 (我想我是在直视着调代先生。但是,当时我的看法只是“调代先生?他是附近的某种名人吗?”)

坦率地说,我记得我的印象是“这是一个有竞争力的项目,可以解决诸如溢出和啄在jubako角落的问题”。在那之后,它再也没有继续下去。

而时间过去了,

即使成为社会的一员,我也很喜欢编程本身,并且我继续一点一点地编写代码。
然而,一直只在大气中做软件的我,
“我不认为这种写作风格很好。”
这种感觉已经酝酿了很久。

另一方面,它不是专门用于软件的环境,基本上我只为自己编写代码,
局势继续有增无减。

就在那时,我看到了这篇文章。

我记得当时印象非常深刻,心想:“哇,有这样的方法。”
同时,我直觉地觉得这可能是“文笔有点差”的药方。
然后,我看到了比赛编程的信件,并决定这样做。

在那之后,一个前 Netoge 瓦克的血统(他大喊“我要卖 Maki 的艺术书 Sasayoro”,并说,“中级或顶级”,然后给他屎)与名为 atcoder 的 netoge 非常匹配。我最终我大部分的闲暇时间都在这里度过。

我做了什么

统计数据

atcoderで青色になった話

atcoderで青色になった話

atcoderで青色になった話
* 由于很久以前的投稿,很难看到

atcoderで青色になった話

活动政策

前人所言,基本情节不变。

全面系统地获取知识

就我而言,我是先读了 Kenchon 先生的一篇介绍性文章,读了一本关于 Kenchon 的书,然后适度解决了 90 个典型问题。

首先,通过做这些,你可以了解自己在职业比赛中会遇到什么样的问题。

我认为当围绕 ABC-C~D 的计算量和减少计算量的巧妙性开始出现时,竞争专业人士会立即变得有趣,
我认为记住 Torimasa 的知识是件好事。

现在,我认为有很多在线评委的基本规则书很好。
全彩,非常容易理解。

然而,就数据结构和算法而言,我觉得我需要的不仅仅是 Midori。
我觉得如果你把一本书的知识放进去,你所要做的就是练习。

解决您自己的颜色差异

所以,我做了绿色差异填充+水差异填充(不包括试管),直到它变成蓝色。

人们常说,颜色问题是那个颜色的人有 50% 的时间可以解决的问题。
当所有这些都解决后,它就变成了下一个颜色。
除了灰色之外,每种颜色只有大约 300 个问题,所以我解决了我的颜色的所有差异。

参加比赛

表演比其他任何事情都更有趣,所以它总是被评为。
当然,不仅如此,业绩的提升量在评分系统方面也是有限的,所以还是尽量多出去走走为好。
不管你能解决还是不能解决在实际表现中真正让你头大的问题,学习效果都很高,会导致下一个问题。 (当然需要审核)

如何解决过去的问题

好吧,至少到水的差异,需要提前考虑的问题是有限的,
感觉就像是最多两种典型算法、数据结构和考虑技术的组合。

那么,解决过去的问题的目的是看你能学到多少你当时还没有做到的典型技术。

说明AC

如上所述,当您无法解决问题时,您不知道/没有掌握典型的方法。
我决定了合适的时间并完成了它。
估计时间参考了E8先生的文章。

放弃调试,不抄经

与上面相反,我相信调试能力只有通过调试才能发现。
不知何故,这没有任何意义。
这不是你被告知的东西,你只能通过穿着吐血和去除WA来获得气味。
不过也有卡住的时候,实在忍不住了,就参考dropbox上的测试用例或者推特上的提问。

了解多种解决方案

当一个问题有多种解释时,我通读了它们。
即使当我能够自己做 AC 时,我也很高兴我能够得出更多我以前没有想到的解决方案。

查看其他人提交的问题,您可以自己解决问题

当你可以自己交流时感觉很棒。这是职业选手。

只是过去的问题不会产生比这更多的价值。
解决问题所花费的时间简直是浪费。

那太浪费了,所以我在能够做AC之后,试图找到更好的方法来解决它。
具体来说,atcoder上的所有提交都是按照“最短代码长度”和“最短执行时间”的顺序排列的,
在参考一些提交的内容时,请自行更新您 AC 的代码。
生成的提交将如下所示:
atcoderで青色になった話

我认为 atcoder 的伟大之处在于,
同一问题的多达数万个解决方案汇集在一个地方。
这是强有力的信息。没有理由不使用它。

您可以从具有更短代码长度的实现中学到更少错误的实现。
很抱歉这个非常直观的故事,但整个代码的错误包含率是
我相信这取决于人的疏忽率和和弦长度。

不幸的是,失败率无法提高。但是,可以减少代码长度。
人们的代码中有很多很棒的想法和未知的库。

执行时间短的实现可以学习如何对抗常数乘法 TLE。
从绿色 diff 的后半部分开始,我们经常会遇到 Python/pypy 中“计算顺序还可以,但是变成了 TLE”的问题。

但是,原因通常只是一个糟糕的实现,并且经常发生最快的人的代码比时间限制少一个数量级。
即使你能解决它,如果你在时间限制的最后一分钟感到沮丧,你也会重新审视它。

通过这样做,您可以将问题稳定在您的颜色之下,
我认为这导致了悬崖时间的速率增加。

综上所述

atcoderで青色になった話

你有这里的保险吗?


原创声明:本文系作者授权爱码网发表,未经许可,不得转载;

原文地址:https://www.likecs.com/show-308628991.html

相关文章: