编程竞赛

Awesome Competitive Programming Awesome

精选的“竞争性编程”、“算法”和“数据结构”资源的精选列表.

为了将人们与信息联系起来而创建,下面的这个列表包含了我在 11 年的竞争性编程生涯中收集到的所有精彩资源的完整集合. 我希望你会发现它有用:)

What is competitive programming? - Quora

Contributing

敬请关注 https://github.com/lnishan/awesome-competitive-programming/blob/master/CONTRIBUTING.md 开始.

您也可以通过分享做出贡献!
与您的同学、您的朋友和所有人分享这份清单:)

> 通过将更多人与信息联系起来,
> 你,做的不是我,而是大家的大忙!

> 我真的希望更多的人可以从这份名单中受益:)

List of Lists

> 很棒的按主题分类的精选列表.

姓名 说明
★★★ Good Blog Post Resources about Algorithm and Data Structures - Codeforces 由 Codeforces 用户编写的精彩教程博客文章的集合. 一些有趣的包括回文树、基于策略的数据结构等等.
★★★ All of the good tutorials found on codeforces - Codeforces Codeforces 用户编写的另一个很好的教程博客文章集合.
★★★ Data Structures and Algorithms - CodeChef Discuss 一个非常完整的竞争性编程资源列表. 浏览器书签中的必备品.
★★★ How to prepare for ACM - ICPC? - GeeksforGeeks ACM-ICPC 准备工作的详细演练.

Syllabuses

> 找出您需要学习的主题.

姓名 说明
★★★ IOI Syllabus 将测试 IOI 参赛者的详细教学大纲. 这仍然与 ACM-ICPC 有点相关.
★★★ How to prepare for ACM - ICPC? - GeeksforGeeks ACM-ICPC 准备工作的详细演练.
★★☆ Programming Camp Syllabus 具有锻炼问题的竞争性编程中的重要主题列表.
★★☆ Juniors Training Sheet, 经过 Mostafa Saad Ibrahim 大约 800 道有序的问题,让新手在 Div2-D 上表现出色

Tutorial Websites

> 很棒的网站,有很棒的教程.

姓名 说明
★★★ Topcoder Data Science Tutorials 由受人尊敬的 Topcoder 成员编写的教程列表. 许多顶级程序员从这里开始学习数据科学.
★★★ E-Maxx (Russian), (English) 在俄语竞争性编程社区中广泛使用和引用的教程网站. 原网站的大部分文章已被翻译成英文,谷歌翻译对其余文章还可以.
★★☆ Algorithms - GeeksforGeeks 一个拥有大量关于不同主题的精美文章档案的网站. 它是算法课程的绝佳免费资源.
★★☆ PEGWiki 一个网站,在许多主题上都有令人惊叹的深度 wiki 类文章. 在我看来,它比维基百科上的要好得多.
★★☆ Notes - HackerEarth 一个很棒的教程众包平台. 还参观 Code Monk.
★★☆ USA Computing Olympiad (USACO) 在其网站上包含几个培训页面,旨在培养一个人按照自己的节奏解决困难和各种算法问题的编程技能.
★★☆ basecs 一个包含有关基本算法和数据结构的深入图解教程的博客.
★★☆ Competitive Programming - Commonlounge 针对初学者和中级概念的简短视频教程. 高级教程选自各种 CP 博客上的最佳教程.
★☆☆ OLYMPIADS IN INFORMATICS 一本国际期刊,专注于在教学和学习信息学领域工作的专业人士的研究和实践,以帮助有才华的学生.
★☆☆ algolist (Russian) 一个致力于各种算法的俄罗斯网站. 这个网站上列出的一些主题似乎很有趣.
★★☆ 演算法筆記 (Algorithm Notes) (Chinese) 台湾竞技编程社区中最受欢迎的教程网站之一. 该网站的维护者花费了大量精力研究算法.
★★☆ 国家集训队论文 1999-2015 (Papers from Chinese IOI training camps) (Chinese) 来自中国IOI训练营的论文. 有趣的是,人们可以告诉不同的地区强调不同的事物.
★★★ Mini-Editorials, 经过 Mostafa Saad Ibrahim 学员 许多问题的迷你编辑解决方案,包括UVA/SPOJ/IOI/Olympiad问题
★★☆ OI Wiki (Competitive Programming) (Chinese) OI Wiki致力于成为一个免费、开放、持续更新的编程竞赛(competitive Programming)知识集成站点. 这个 wiki 是那些试图学习一些东西的有竞争力的程序员的一种伴侣或指南

Open Courses

> 考虑通过这些精彩课程开始您的竞争性编程之旅!

姓名 说明
★★☆ Code Monk , 通过 HackerEarth 关于竞争性编程基本主题的精彩分步教程.
★★★ Stanford CS 97SI: Introduction to Competitive Programming Contests 提供全面的讲座幻灯片和锻炼问题的简短列表.
★★☆ How to Win Coding Competitions: Secrets of Champions ITMO 大学关于 edX 上竞争性编码的课程.
★★☆ Codechef's Indian Programming Camp 视频讲座来自 Codechef's Indian Programming Camp 2016 . 由 Sergey Kulik、Kevin Charles Atienza 和 Anudeep Nekkanti 等顶级竞争程序员授课. 主要侧重于通过将这些概念应用于实际的竞赛问题来探索这些概念.
★★☆ Reykjavik T-414-ÁFLV: A Competitive Programming Course 一门很棒的课程 Bjarki Ágúst Guðmundsson (SuprDewd) . 这些讲座以简洁的幻灯片和一个很好的练习问题列表为特色.
★★☆ NCTU DCP4631: Problem Solving and Programming Techniques 一门关于基本主题的课程,具有良好的讲座幻灯片.
★☆☆ Materials (English)Arabic Competitive Programming YouTube Channel 一些材料(幻灯片和源代码)涵盖了 Mostafa Saad Ibrahim 的广泛算法主题.

Open Courses for Algorithms and Data Structures

姓名 说明
★★★ prakhar1989/awesome-courses#algorithms 由著名机构(麻省理工学院、斯坦福大学、加州大学伯克利分校等)提供的一系列公开课程.
★★★ MIT SMA 5503: Introduction to Algorithms 该课程由 Charles Leiserson 教授(算法导论的合著者之一)和 Erik Demaine 教授(一位在数据科学领域取得显着突破的杰出教授)讲授,课程提供了很好的材料,并伴随着直观而全面的分析.
★★☆ UIUC Algorithm Course 讲义、作业、考试和讨论问题涵盖广泛的算法主题

Books

> 竞争性编程推荐书籍列表.

姓名 说明
★★☆ Competitive Programming ,史蒂文和费利克斯哈利姆 本书包含相关数据结构、算法和编程技巧的集合. 这是一本广受欢迎的书. ... 第一个版本是免费 download (pdf).
★★☆ Programming Challenges: The Programming Contest Training Manual ,史蒂文斯基纳和米格尔雷维拉 本书包括 100 多个编程挑战,以及解决这些挑战所需的理论和关键概念. 问题按主题组织,并辅以完整的教程材料.
★★☆ Competitive Programmer's Handbook , by Antti Laaksonen 为有抱负的 IOI 和 ICPC 参赛者介绍竞争性节目. 免费到 download (pdf).
★★☆ Algorithmic Thinking: A Problem-Based Introduction , 丹尼尔·辛加罗 一本使用竞争性编程问题(IOI、USACO、CCC/CCO 等)教授数据结构和算法的书.
★★☆ Computational Geometry: Algorithms and Applications , 作者: Mark de Berg, Otfried Cheong, Marc van Kreveld, Mark Overmars 这是一本写得很好的书,涵盖了广泛的计算几何问题.
★☆☆ The Hitchhiker’s Guide to the Programming Contests , 通过 Nite Nimajneb 这本书是免费 download (pdf) . 本书涵盖了与竞争性编程相关的各种主题.
★★★ プログラミングコンテストチャレンジブック (Japanese), by 秋叶拓哉, 岩田阳一, 北川宜稔 An absolutely phenomenal book. The contents, organized in a very coherent manner, are nothing short of amazing. ... 培养与锻炼程式设计的逻辑脑:世界级程式设计大赛的知识、心得与解题分享(Chinese Traditional)
★★☆ 算法竞赛入门经典 (Chinese), by 刘汝佳 The Art of Algorithms and Programming Contests (English), 打下好基础:程式设计与演算法竞赛入门经典(Chinese Traditional)
★★☆ 算法竞赛入门经典——训练指南 (Chinese), by 刘汝佳, 陈锋 提升程式设计的解题思考力─国际演算法程式设计竞赛训练指南(Chinese Traditional)
★★★ 算法艺术与信息学竞赛 (Chinese) , by 刘汝佳, 黄亮 一个古老的经典. 这本书很旧,但以今天的标准来看,这本书的内容仍然被认为是非常困难的.

Books for Algorithms

姓名 说明
★★★ Introduction to Algorithms ,作者:Thomas H. Cormen、Charles E. Leiserson、Ronald L. Rivest 和 Clifford Stein 也称为 CLRS(取自名字首字母),这本书通常被称为算法和数据结构的“圣经”. 它是大学算法课程最受欢迎的教科书之一. 本书详细介绍了各种算法和数据结构. 写作更严谨,对某些人来说可能很难.
★★☆ Algorithm Design ,作者:Jon Kleinberg 和 Éva Tardos 本书围绕设计算法的技术展开. 它组织良好,以清晰易懂的语言编写. 每章都附有实际示例和有用的练习. 网络流量章节受到了很多人的高度评价. ... 教科书附带的讲座幻灯片可在其上找到 official website.
★★☆ The Algorithm Design Manual , 作者:Steven S. Skiena 这本书是用更易读的文字写成的. 有些人认为它比其他书籍更全面. 您还可以在其上找到一些不错的资源(包括作者自己的视频讲座) official website.
★★★ Algorithms ,罗伯特·塞奇维克和凯文·韦恩 这本书分类整齐,配以详尽的解释和精彩的插图. 它在一些IOI训练营中被用作教科书.
Algorithms and Data Structures in Action ,由 Marcello La Rocca 本书提供了一种不同的算法方法,平衡了理论与更实用的角度,每章都有一节重点介绍如何将算法应用于您的日常工作或竞争性编程中可以找到的实际用例; 它还融合了经典、高级和新算法.
★★★ Algorithms ,杰夫·埃里克森 自行出版教科书的免费电子版,在 CC by 4.0 下获得许可. 这是一本写得很好的书,来自伊利诺伊大学理论计算机科学课程的讲义. 涵盖回溯、动态规划、贪婪的主要范式,尤其是深度图.

Books for Mathematics

姓名 说明
★★☆ Discrete Mathematics and Its Applications , 肯尼斯 H. 罗森 离散数学与竞争性编程密切相关. 这本书提供了关于广泛主题的综合材料,包括:逻辑和证明、集合、函数、序列、矩阵、数论、递归、计数、概率、图、树和布尔 Alegra 仅举几例.
★★☆ Concrete Mathematics: A Foundation for Computer Science , 作者:Ronald L. Graham, Donald E. Knuth, Oren Patashnik 这本书提供了对离散数学的更深入的了解,更多地强调了与数字相关的主题.
★★☆ Linear Algebra and Its Applications ,David C. Lay、Steven R. Lay、Judi J. McDonald 这本书在弥合物理系统(对于科学家和工程师)和抽象系统(对于数学家)之间的差距方面做得非常出色.
★★☆ Introduction to Probability , 查尔斯 M. Grinstead, J. Laurie Snell 这是一本写得很好的介绍概率的书. ...它是免费 download (pdf) (在 GNU 自由文档许可证下发布).
★★☆ How to Solve It: A New Aspect of Mathematical Method ,由 G. 波利亚 一个古老的经典. 在本书中,作者提供了一种创造性地解决问题的系统方法.
★★☆ Intermediate Counting & Probability , 大卫帕特里克 前美国数学奥林匹克冠军大卫帕特里克的计数和概率主题,主题包括包含-排除、1-1 对应、鸽巢原理、建设性期望、斐波那契数和加泰罗尼亚数、递归、条件概率、生成函数、图论等等..

Sites for Practice

> 良好的在线评委系统/竞赛平台可供练习.

姓名 说明
★★★ Codeforces Codeforces 是最受欢迎的竞赛平台之一,如果不是的话. 目前由萨拉托夫州立大学维护,它以定期比赛和无数令人敬畏的原创问题为特色. 此外,每场比赛都会提供由作者自己编写的即时有用的教程(通常). Codeforces 还拥有一个强大且引人入胜的社区. 总而言之,在这里确实会得到极大的学习和提高.
★★★ Topcoder Topcoder 成立于 2001 年.历史悠久,在技术竞赛方面被认为是最负盛名的组织之一. 数百个 SRM 产生了丰富的问题​​集. 这里的问题通常比其他问题更具挑战性,因此 Topcoder 吸引了许多精英程序员. 一年一度的 Topcoder Open (TCO) 也是一个广泛讨论的活动.
★★★ Google Code Jam Google Code Jam 无疑是最受推崇的编程竞赛之一. 比赛包括必须在固定时间内解决的独特编程挑战. 参赛者可以使用任何编程语言和开发环境来获得他们的解决方案.
★★★ AtCoder AtCoder 是一个全新但非凡的竞赛平台,由一群高评价的日本竞技程序员创建.
★★☆ CodeChef CodeChef 是 Directi 的一项非盈利教育计划. 它是一个具有全球竞争力的编程平台,拥有庞大的程序员社区,可帮助学生和专业人士测试和提高他们的编码技能. 其目标是为学生和专业软件开发人员提供一个练习、竞争和改进的平台. 除此之外,它的目的是在学生年轻时接触他们,并在印度灌输编程文化.
★★★ SPOJ SPOJ 平台以在线裁判系统为中心. 它拥有数量惊人的问题,由其问题制定者社区准备或从以前的编程竞赛中提取,其中一些是需要练习的重要问题(请参阅 Problem classifiers 部分). SPOJ 还允许高级用户根据自己的规则组织比赛.
★★☆ Timus Timus Online Judge 是俄罗斯最大的带有自动评判系统的编程问题档案. 问题主要是从在乌拉尔联邦大学、乌拉尔锦标赛、乌拉尔 ACM ICPC 次区域比赛和彼得罗扎沃茨克训练营举办的比赛中收集的.
★☆☆ HDU HDU是杭州电子科技大学维护的在线评委. 它是中国 IOI 场景中许多经典问题的发源地.
★★☆ Aizu Online Judge 会津在线评委是会津大学主办的竞赛平台和题库. 它有很多来自日本编程比赛的大问题.
★★☆ UVa 历史悠久的老式问题档案/在线法官. 数以千计的问题,包括许多经典问题,都在这里精选. 但是,强烈建议您练习 uHunt 遵循其“竞争性编程练习”部分.
★★☆ HackerRank HackerRank 是一家专注于为消费者和企业解决竞争性编程挑战的公司. HackerRank 的编程挑战可以用多种编程语言解决,并跨越多个计算机科学领域.
★★☆ POJ POJ是北大维护的一个有很多大问题的在线评委. 大多数中国竞技程序员的旅程都是从这里开始的. 该平台确实过时了,因此可能会出现神秘的编译和运行时问题.
★★☆ Project Euler Project Euler 提供了一组令人惊叹的数学问题. 它还举办了一个论坛,人们可以在那里进行讨论.
★☆☆ Hackerearth HackerEarth 是一家位于印度班加罗尔的初创科技公司,提供招聘解决方案.
★☆☆ Caribbean Online Judge COJ is hosted by University of Informatics Sciences (UCI, by its acronym in Spanish), located in Cuba. Feature ACM ICPC and Progressive contest styles, mostly from Caribbean and Latin American problem setters, also has problem classifier and contest calendar.
★★☆ CS Academy CS Academy 是竞争性编程领域的新成员,它是一个成长中的在线评委,每两周举办一次比赛. 它支持实时聊天、交互式课程和集成的在线编辑器(实际有效).
★★☆ Russian Code Cup 由 Mail.Ru Group 提供支持的编程比赛. 比赛包括3个资格赛、1场淘汰赛和1场决赛. 每轮参赛者有 4-8 个必须在固定时间内解决的问题.
★★☆ CodeFights CodeFights 是一个用于竞争性编程练习和面试准备的网站. 它具有不同难度的每日挑战、问题档案和定期(每 15 分钟)迷你锦标赛. 适合初学者.
★★☆ OmegaUp (西班牙语) OmegaUp 是一个基于社区的竞争性编程培训网站. 这里也是墨西哥信息学奥林匹克竞赛 (OMI : Olimpiada Mexicana de Informática) 的举办地.

Problem Classifiers

> 对编程问题进行分类的站点.
选择一个感兴趣的类别(例如 DP)并在该主题上练习问题.

姓名 说明
★★★ A2 Online Judge 混合
★★★ Problem Classifier 联合
★★☆ UVa Online Judge CP书
★☆☆ Codeforces Tags CF (DP)
★★☆ HackerRank 黑客排名
★★☆ Juniors Training Sheet, 经过 Mostafa Saad Ibrahim 大约 800 道有序的问题,让新手在 Div2-D 上表现出色
★★☆ Lucky貓的 UVA(ACM)園地 (Chinese) 葡萄
★★☆ Topcoder problem archive 类别和复杂程度的问题列表

Contest Calendars

> 即将举行的编程竞赛的日历.
(绝不会错过另一场比赛!)

姓名 说明
★★★ Programming Contest Calendar - HackerRank 可以导出 Google 日历
★★☆ clist.by 可供使用的 API
★★☆ Coding Calendar (Android App)
★★☆ Coder's Calendar: Android App, Chrome Extension, Firefox Add-on
★★★ CodeHorizon: iOS App, Android App
★★★ Competitive Programming Contests Calendar 可以导出 Google 日历

Sites for Questions

> 这些是提问的好网站.
将您的代码粘贴到 ideone, pastebin 或其他网站以避免格式问题.

姓名 说明
★★★ Codeforces 要快速获得答案,Codeforces 绝对是询问任何与竞争相关的问题的首选之地.
★★★ Competitive Programming - Quora 您通常会在 Quora 上获得更详细的答案,但您的问题可能不会立即得到解答.
★★☆ Theoretical Computer Science Stack Exchange 这个地方一般是给学者的,所以不要在这里问关于比赛问题的问题.

Camps and Trainings

> 在线培训和营地.

姓名 说明
★★★ Online Free Problem-Solving Coaching, 经过 Mostafa Saad Ibrahim 查看教练细节和人们对其性质/质量的评论.

Implementations

> 算法和数据结构实现.

姓名 说明
★★★ CodeLibrary , 通过安德烈·瑙缅科 (indy256)
★★★ spaghetti-source/algorithm, by Takanori MAEHARA (@tmaehara) High-quality implementations of many hard algorithms and data structures.
★★★ kth-competitive-programming/kactl ,由西蒙·林德霍尔姆 (simonlindholm) 等人撰写. 来自 KTH 皇家理工学院的组织、记录和测试的团队笔记本. 我见过的最精心制作的团队笔记本(竞赛库)之一.
★★☆ jaehyunp/stanfordacm 斯坦福的团队笔记本维护得很好,里面的代码质量很高.
★★☆ ngthanhtrung23/ACM_Notebook_new , 来自新加坡国立大学的 RR Watameda (I_love_Hoang_Yen, flashmt, nguyenhungtam) 团队 RR Watameda 代表新加坡国立大学参加 2016 年 ACM-ICPC 世界总决赛. 这本笔记本中的物品非常标准且井井有条.
★★☆ bobogei81123/bcw_codebook , 来自国立台湾大学的 bcw0x1bd2 (darkhh, bobogei81123, step5) 团队 bcw0x1bd2 代表国立台湾大学参加 2016 年 ACM-ICPC 世界总决赛. 该笔记本包含高级数据结构和算法的强大实现.
★☆☆ foreverbell/acm-icpc-cheat-sheet ,由foreverbell (foreverbell) 包含一些高级数据结构和算法的笔记本,其中包括一些来自中国信息学领域的内容.
★☆☆ igor's code archive , 通过 Igor Naverniouk (Abednego)

Language Specifics

> 语言和其他杂项知识.

C/C++

姓名 说明
★★☆ Power up C++ with the Standard Template Library - Topcoder: Part 1, Part 2 关于基本 C++ STL 的介绍性教程.
★★☆ Yet again on C++ input/output - Codeforces 了解有关 C++ I/O 优化的更多信息.
★★☆ C++ Tricks - Codeforces ... What are some cool C++ tricks to use in a programming contest? - Quora 用于竞争性编程的丰富 C++ 技巧. 请注意,有些应谨慎使用.
★★★ C++ STL: Policy based data structures - Codeforces: Part 1, Part 2 详细介绍在 GNU C++ 中实现的额外数据结构. 官方文档可以找到 here.
★☆☆ C++11 FAQ (English, Chinese, Russian, Japanese, Korean) 由 C++ 的创建者 Bjarne Stroustrup 收集和编写的有关 C++11 的常见问题列表.

Java

姓名 说明
★★☆ How to read input in Java — tutorial - Codeforces 了解如何更快地读取输入. 这是打算使用 Java 进行竞争性编程的人的必读之书
★★☆ How to sort arrays in Java and avoid TLE - Codeforces 关于如何避免遇到快速排序的最坏情况的一些提示
★★☆ BigNum arithmetic in Java — Let's outperform BigInteger! - Codeforces 一个基本但更快的自定义 BigInteger 类
★★☆ EZ Collections, EZ Life (new Java library for contests) - Codeforces 由 Alexey Dergunov (dalex) 编写的用于比赛的 Java 库. 实现了ArrayList、ArrayDeque、Heap、Sort、HashSet、HashMap、TreeSet、TreeMap、TreeList和pair类

Miscellaneous

姓名 说明
★★★ Bit Twiddling Hacks 一个庞大的位操作技巧汇编列表.
★★★ Comparing Floating Point Numbers, 2012 Edition - Random ASCII 您需要了解的有关浮点数的所有信息. 必须阅读特别是几何主题.
★★☆ Object-Oriented C Style Languages: C++, Objective-C, Java, C# - a side-by-side reference sheet 常见语法的详细并排参考表.

Tools

> 很棒的工具,让您的生活更轻松.

IDEs

姓名 平台 说明
★★★ Vim CLI / 跨平台 Vim 是高级程序员中最受欢迎的文本编辑器之一. 它允许仅通过击键就可以非常有效地完成文本编辑. Vim 还具有高度可配置性、可扩展性,并且与 shell(命令行)集成得非常好. Vim 唯一的挫折是它对初学者有很高的学习曲线.
★★★ Emacs CLI / 跨平台 Emacs 是另一种流行的文本编辑器(或者更准确地说是开发环境). 由于“Vim 与 Emacs”的流行,关于“Vim 与 Emacs”的争论不断被提起. 基本上 Emacs 不仅仅是一个文本编辑器. 它具有文件管理器、Web 浏览器、邮件客户端和新闻客户端等插件,允许用户直接在 Emacs 中执行这些任务. Emacs 因此“更重”,但可以说它对于初学者来说具有相对容易的学习曲线.
★★★ Far Manager 混合/Windows Far Manager 是 RU/CIS 竞争性编程社区中使用最广泛的编辑器. 它实际上是一个简单的文件管理器,但您可以安装 FarColorer - 一个语法高亮插件来编程. 正确配置后,Far Manager 允许您在编写代码时非常有效地在文件之间导航.
★★★ Code::Blocks GUI / 跨平台 Code::Blocks 是 C/C++ 的首选 IDE. 它是一个功能齐全的多功能 IDE,具有许多强大的功能. Code::Blocks 通常在编程竞赛中与 Vim 一起提供.
★★★ IntelliJ IDEA GUI / 跨平台 IntelliJ IDEA 无疑是 Java 最好的 IDE 之一. 大多数使用 Java 作为主要语言的竞争程序员都使用它. 一定要退房 CHelper ,一个为编程比赛编写的非常方便的插件.
★★☆ Sublime Text GUI / 跨平台 Sublime Text 是一个非凡的文本编辑器. 包含多个插入符号、小地图和命令面板等强大且创新的功能,它吸引了强大且引人入胜的社区. Sublime Text 是高度可扩展的,所以一定要 Package Control 安装并探索可能是最大的插件目录之一!
★★☆ Eclipse GUI / 跨平台 Eclipse 是另一个很好的 Java IDE. 它是 Intellij IDEA 的一个不错的替代品(按照今天的标准,它比 IDEA 差一点). 有时比赛出于某种原因只提供 Eclipse,所以这可能是尝试和使用 Eclipse 的一个很好的激励.
★★☆ CLion GUI / 跨平台 由 JetBrains 生产的 CLion - 与制造 Intellij IDEA 的公司是同一家公司,是一个强大的 C++ IDE. 免费的教育许可证可用,或者您可以尝试他们 EAP (Early Access Program) 截至 2018 年 4 月,它仍然是免费的.您可能需要关闭其代码检查功能,因为它会导致相当多的延迟.
★☆☆ 其他 IDE 混合 Visual Studio is the IDE to use in case you want to code in C#. ... Both AtomVisual Studio Code are built with Electron (written in JavaScript) 和 therefore somewhat resource-hogging. ... CodeLite is a newly rising IDE. Beware that the load-up 和 project-creation times can be extraordinary.

Personal use

姓名 说明
★★★ VisuAlgo 一个网站,包含大量用于算法和数据结构的可视化工具.
★★★ 一般实践助手:... CHelper (IntelliJ IDEA) (manual) ... caide (Visual Studio、CodeLite、独立命令行应用程序).​​.. JHelper (应用代码,CLion) online-judge-tools (独立的 CLI 工具,它是积极维护的.) 解析竞赛、内联库代码和提供测试框架的出色工具. 它们使您免于将宝贵的时间花在切换窗口和来回复制粘贴上.
★★☆ Codeforces 解析器:... Codeforces Parser ... GoCF ... cfparser (emacs) cfparser (cli) 这些工具解析 Codeforces 竞赛问题并帮助运行示例测试.
★★★ The On-Line Encyclopedia of Integer Sequences (OEIS) 令人惊叹的百科全书,其中包含无数整数序列的数据库. 它还具有强大的搜索引擎. 有时,一个看似困难的组合问题可能等同于一个简单的或经过研究的整数序列.
★★☆ 语法高亮:... tohtml.com ... markup.su ... hilite.me 使用漂亮的格式化代码片段创建幻灯片或团队笔记本非常方便. 只需复制突出显示的代码片段并将它们粘贴到您最喜欢的 WYSIWYG(所见即所得)编辑器中!
★★☆ 代码共享: ... Ideone.com ... Pastebin.com ... Ubuntu Pastebin 这些工具生成用于代码共享的半永久性页面. 非常有用,尤其是当您试图让其他人查看您的代码时.
★★☆ Ineffable 一个简单的命令行分级器,用于本地分级.
★★☆ uDebug 一个平台,为用户指定的 UVa Online Judge 问题输入提供预期输出. 一些问题还为调试提供了额外的测试用例.

Contest Preparation

姓名 说明
★★★ polygon 多边形为专业比赛准备提供了一个平台和一套丰富的工具. ... 一个例子: Validators with testlib.h - Codeforces
★★☆ Graph Editor 创建和可视化图形的绝佳工具.
★★☆ tcframe 用于生成竞争性编程问题的测试用例的 C++ 框架.
★★★ Virtual Judge (vjudge) 虚拟裁判 (vjudge) 允许用户使用来自著名问题档案的问题创建虚拟竞赛.
★★☆ BNU Online Judge BNU Online Judge 还允许用户创建虚拟竞赛.
★★☆ Kattis Kattis 协助准备比赛(给他们发电子邮件寻求帮助).

Community

> 认识神一样的竞技程序员!
从这些人那里学习有用的技巧、教程和见解:)

Blogs

名称(句柄) 博客名称
Codeforces blogs
彼得·米特里切夫 (Petr) Algorithms Weekly
副岛诚 (rng_58) rng_58's blog
Bruce Merry (bmerry) Entropy always increases
Przemysław Dębiak (Psyho) Psyho's blog
Anudeep Nekkanti (anudeep2011) Namespace Anudeep ;)
vexorian (vexorian) vexorian's blog
Ashar Fuadi (fushar) Fushar's blog
LiJie Chen (WJMZBMR) WJMZBMR (Chinese)
Huang I-Wen (dreamoon) 小月的耍廢日誌 (Chinese)
Shiang-Yun Yang (morris1028) Morris' Blog (Chinese)
Yuhao Du (TooDifficuIt, TooSimple, xudyh) xudyh (Chinese)

Youtube and Livestreams

名称(句柄) 链接
彼得·米特里切夫 (Petr) Youtube
Ravindrababu Ravula 的门讲座 Youtube
穆斯塔法·萨阿德·易卜拉欣 (mostafa.saad.fci) Competitive Programming Youtube (Arabic Speech-English Text)
图沙罗伊 Youtube ,有很多教程视频.
GeeksforGeeks Youtube
算法直播! Youtube
代码厨师 Youtube
黑客排名 Youtube
IDeserve Youtube
代码报告 Youtube ,包含 HackerRank、LeetCode、Topcoder 和 Codeforces 的竞赛更新和问题教程.
“Sothe”算法狼 Youtube
叶戈尔·库利科夫 (Egor) Youtube
Adam Bardashevich (订阅​​者) Youtube
Bohdan Pryshchenko (I_love_Tanya_Romanova) Twitch, Youtube
弗拉基米尔·斯米卡洛夫 (units.1.10) Twitch, Youtube
亚历山大·阿巴斯 (Alex7) Youtube
米哈伊尔·季霍米罗夫(恩达戈里翁) Youtube
卡米尔·德博夫斯基 (Errichto) Youtube
David Harmeyer (SecondThread) Youtube
我的代码学校 Youtube
威廉·林 (tmwilliamlin168) Youtube

Quora

> 参观 Competitive Programming - Quora (Top 10 Most Viewed Writers).

重要社区人物 说明
Bill Poucher 执行董事 ACM-ICPC . 贝勒大学 CS 教授.
Michal Forišek (misof) 主办方 IPSCIOI. CS Teacher at Comenius University in Slovakia. Algorithm 和 CS Education Researcher. Former highly-rated competitive programmer.
Ahmed Aly (ahmed_aly) 创始人 A2OJ. HackerRank 首席软件工程师. 前成员 Google Code Jam 团队.
有竞争力的程序员
Thanh Trung Nguyen (I_love_Hoang_Yen) Brian Bi (bbi5291) Jonathan Paulson (jonathanpaulson)
Miguel Oliveira (mogers) Egor Suvorov (yeputons) Michal Danilák (Mimino)
Bohdan Pryshchenko (I_love_Tanya_Romanova) Vladimir Novakovski (vnovakovski) Nick Wu (xiaowuc1)
Cosmin Negruseri Lalit Kundu (darkshadows) Ashish Kedia (ashish1294)
Johnny Ho (random.johnnyh) Joshua Pan (lonerz) Anudeep Nekkanti (anudeep2011)
Steven Hao (stevenkplus) Raziman T.V. (razimantv)

Other Awesome Resources

Articles

> 信息丰富且有用的文章

主题
Overview of Programming Contests到Przemysław Dębiak (Psyho)
The 'science' of training in competitive programming - Codeforces, by Thanh Trung Nguyen (I_love_Hoang_Yen)
If you ask me how to improve your algorithm competition skill, I will give you the link of this blog. - Codeforces, by Huang I-Wen (dreamoon)
How to prepare for ACM - ICPC? - GeeksforGeeks, 通过 Vishwesh Shrimali
Complete reference to competitive programming - HackerEarth,由拉维奥贾
Getting started with the sport of competitive programming - HackerEarth, 由 Triveni Mahatha

FAQs

> 对常见问题的精细解答

问题
How do I start competitive programming? - Quora
How can I become good at competitive programming? - Quora ... What is the best strategy to improve my skills in competitive programming in 2-3 months? - Quora ... What is a good 6 month plan to start and progress through competitive programming? - Quora
How is competitive programming different from real-life programming? - Quora
What have you gained from competitive programming? - Quora

Awesome Lists

> 相关精彩列表

姓名 链接
C++ 书籍 The Definitive C++ Book Guide and List - Stack Overflow
Java 书籍 What are the best books to learn Java? - Quora
高级 Java 书籍 What is the best book for advanced Java programming? - Quora
算法 tayllan/awesome-algorithms
算法可视化 enjalot/algovis
数学 rossant/awesome-math
C++ fffaraz/awesome-cpp
爪哇 akullpp/awesome-java
课程 prakhar1989/awesome-courses
免费编程书籍 vhf/free-programming-books
Community-curated C++ Resources Hackr.io

Interview Questions

姓名 说明
CareerCup 最受欢迎的软件工程面试准备网站.
InterviewBit 具有有趣和令人耳目一新的游戏设计,旨在激发人们的练习兴趣.
Awesome Interviews 精选的精彩面试问题列表
LeetCode 组织良好的软件工程面试准备网站,提供最佳解释解决方案.

License

Creative Commons Attribution 4.0 International

Awesome Competitive Programming 获得许可 Creative Commons Attribution 4.0 International License.