如何阅读编程竞赛的问题?

编程竞赛被视为计算机科学领域的一项运动。这项运动的文化日趋发展,许多人也将其视为职业选择。因此,为了帮助参与者提高这项运动的效率,在这篇文章中,我们试图涵盖阅读竞争性编程问题时要记住的所有可能的事情。

在竞争性编程中最重要的事情是:

在程序设计竞赛中,时间被认为是排名相同的参与者打破平局的主要因素。

同样,为了节省时间,您必须尽快理解问题,这取决于您如何阅读编程问题?

为了解决这个问题,很多竞赛程序员遵循的基本策略是根据他们的难度水平来阅读不同的问题。请注意,大多数编码竞赛都存在基于以下难度级别的问题:

  • 简单(Cake-walk):基于简单的实现,此类问题被认为非常容易。这个问题对于打破僵局也很重要,因为大多数程序员在比赛的前5分钟就提交了他们的解决方案。尽快解决这个问题的基本策略是避免阅读完整的问题以节省时间。首先试着看看测试用例以及问题陈述中解释的输入和输出格式。大多数情况下,这足以解决一个Cake-walk的问题。
  • 容易:此类问题很容易,但不像cake-walk的问题那么容易。这些问题不是基于任何数据结构和算法或任何更严格的概念。这些问题旨在测试程序员的分析能力。大多数情况下,这些问题基于任何数学概念或字符串实现等。阅读此问题时,如果问题语句中有故事部分,请尽量避免。读一次这个问题就足以解决它,但你必须足够小心,同时不要错过任何概念。
  • 中度和困难:我们在阅读这些问题时必须非常小心,因为它们包含很多极端情况,并包含数据结构和算法的深入概念,例如分段树,二进制索引 树,动态编程,永久数据结构等。

初出茅庐的程序员可以遵循以下步骤来解决这些问题:

1. 至少阅读两次该问题:将问题转化为解决方案的第一步是理解问题本身。如果您能够在初读时理解该问题,我们建议您再次阅读该问题,问题设置者可能会设置一个隐藏的测试用例。如果您无法理解该问题,请多次阅读,直到您弄清楚需要解决的问题为止。 一旦掌握了逻辑,就可以用您选择的语言对其进行编码。

2. 标记出细节:您可以写下需要声明的变量的名称,以及问题中提到的一些公式。您必须在纸上放置每个变量的约束或记住它,因为这将来可能会导致错误。标记细节将帮助您避免愚蠢的错误,并专注于逻辑并节省您在编码竞赛中的宝贵时间。如果您有一个很长的问题,并且必须为其编写一个长代码,那么您可能不记得每个变量的详细信息,因此您可以参考您留作参考的列表,并以相同的速度继续进行编码。

3. 编码时请参考问题:您可以打开2个编辑窗口,一个用于编码,一个用于问题部分。一些编码站点允许您执行此操作,并且有利于在编码时查看确切的详细信息。

4. 提交之前,请再次阅读该问题:一次又一次阅读同一问题可能会感到无聊,但是如果您错过了一个重要的细节,这可能会让您看到它。一旦错过,游戏就结束了。 因此,在提交解决方案之前,您必须再次解决该问题。

有些人参加过几次编码竞赛,并取得了相当大的成功。有时在编码时,会因为一些小事情而遇到错误。缺少要声明的变量,留下公式,没有完全阅读问题,忽略了对变量的约束,列表越界。 可以使用以上详细信息来避免这些基本错误。

许多编码竞赛也惩罚参与者提交错误的解决方案。因此,建议在提交解决方案之前对其充满信心。

六一编程网

发表评论

Next Post

如何在Python中启动IDLE

周三 3月 4 , 2020
您可以在系统上的Python 3.3文件夹中以IDLE(Python GUI)找到IDLE。 当您单 […]