【发布时间】:2015-10-08 01:48:46
【问题描述】:
您如何开始竞争性编程并精通其中的各种主题? 你能做什么? 直接上手或先做一些概念。
【问题讨论】:
-
这个视频值得一看:youtu.be/y7169jEvb-Y
您如何开始竞争性编程并精通其中的各种主题? 你能做什么? 直接上手或先做一些概念。
【问题讨论】:
我的 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 用于竞争性编程建议的最佳方法是针对您在编写解决方案时遇到的问题提出具体问题。例如,您可能会问语言功能是如何工作的。通常你会发现这个问题已经被问过了。
这里是您问题的 108 多个 Quora 答案:https://www.quora.com/How-do-I-become-a-competitive-programmer
总结答案是:开始解决问题。如果你有任何编程背景,我相信你在问这个问题时就会这样做,你会从刚开始而不是先阅读大量内容中获得更多好处。当您遇到问题时,就是阅读书籍或在线资源的时候了。
如果您在决定从什么开始时遇到困难,以下是我博客中关于如何开始的建议:http://www.redgreencode.com/about-project-462/
【讨论】:
如果您知道如何用特定编程语言编写简单代码并解决基本问题(不需要算法或需要基本问题的问题),我的建议是在竞争性编程网站上注册。
我对网站选择的建议是:-
1)HackerRank:-https://www.hackerrank.com/
这里的问题分类得很清楚。练习这里标记为“简单”的问题,然后练习一些“中等”问题。完成“30 天编码挑战”,这会给你一个很好的基本概念Java 语言。此外,检查其他人的代码和社论,即使您的代码通过了所有测试用例。
2)SPOJ:-
在此处练习归类为“ad-hoc”的问题。从解决大多数人都能解决的问题开始……通常它们会更容易。
3)开始实现基本(或标准)算法。建议从 Topcoder 教程 或 算法简介 中阅读它们。另外,请遵循标准书籍。现在,根据这些算法练习问题,直到熟悉和他们一起。
4)在您熟悉最常见的算法后开始在编码挑战中竞争。实践让您变得更好。尝试解决以前比赛中的问题。尽可能多地解决问题 A-s直到它们给你带来麻烦。然后转到 B,然后是 C 等等。
希望对你有帮助:)
附: 还要在 Quora 上查看以下答案:-
【讨论】: