开始竞争性编程运动

Getting started with the sport of competitive programming

您如何开始竞争性编程并精通其中的各种主题? 你能做什么? 直接上手或者先做一些概念。

我的 2 美分...
最好的选择是在以下编码站点注册..
+ topcoder.com
+ codechef.com
+ hackerrank.com

而且,当您在这里破解代码时,您可以通过在
上学习更多来巩固您的编程基础 + 数据结构
+ 算法
+ 操作系统概念
+ 网络概念等...

您还可以开始阅读以下这方面的书籍...
+ The Algorithm Design Manual
+ Programming Challenges: The Programming Contest Training Manual
+ Competitive Programming 2

这是 Quora 上一个非常受欢迎的问题,但通常被认为是 Stack Overflow 的题外话。使用 SO 获得竞争性编程建议的最佳方法是针对您在编写解决方案时遇到的问题提出具体问题。例如,您可能会询问语言功能是如何工作的。通常你会发现这个问题已经被问过了。

以下是 Quora 对您问题的 108+ 个回答:https://www.quora.com/How-do-I-become-a-competitive-programmer

总结答案是:开始解决问题。如果您有任何编程背景,我相信您会问这个问题,那么您将从刚刚开始而不是首先阅读大量内容中获得更多好处。当你卡在某事上时,就是阅读书籍或在线资源的时候了。

如果您在决定从什么开始时遇到困难,请参阅我的博客中关于如何开始的建议:http://www.redgreencode.com/about-project-462/

如果您知道如何使用特定编程语言编写简单代码并解决基本问题(不需要算法或需要基本问题的问题),我的建议是注册竞争性编程网站。

我对选址的建议是:-

1)HackerRank:-https://www.hackerrank.com/

问题分类得很好 here.Practice 此处标记为 'easy' 的问题后跟一些 'medium' ones.Complete '30 天编码挑战' 这会让您对 Java language.Also、 检查其他人的代码和社论 有一个很好的基本概念,即使您的代码通过了所有测试案例。

2)SPOJ:-

通过解决大多数人都能解决的问题来练习分类为“临时”here.Start的问题...通常它们会更容易。

3)开始实施基本(或标准)算法。建议阅读 Topcoder 教程 算法导论 。此外,按照标准书籍以及 it.Now 练习问题基于这些算法,直到您熟悉它们。

4)熟悉最常见的算法后开始参加编码挑战实践使你变得更好。尝试解决以前比赛中的问题。尽可能多地解决问题 A-s 直到它们给你带来麻烦。然后移动到 B,然后是 C 等等

希望对您有所帮助:)

P.S。 同时检查 Quora 上的以下答案:-

https://www.quora.com/What-is-the-best-strategy-to-improve-my-skills-in-competitive-programming-in-2-3-months/answer/Sachin-Gupta-6?srid=4gZ6