很棒的竞争节目
精选的Competitive Programming , Algorithm和Data Structure资源的精选列表。
以将人们连接到信息的目的是创建,下面的列表包含了我在11年竞争性编程生涯中收集的所有出色资源的完整集合。希望您会发现它有用:)
什么是竞争性编程? - Quora
贡献
请关注贡献。md开始。
您也可以通过分享做出贡献!
与您的同学,您的朋友和所有人分享列表:)
通过将更多的人连接到信息,
您,不是我,但每个人都有巨大的忙!
我真的希望更多的人可以从此清单中受益:)
目录
- 列表列表
- 教学大纲
- 教程网站
- 开放课程
- 图书
- 练习站点
- 营地和培训
- 疑问的网站
- 实施
- 语言细节
- 工具
- 社区
- 其他很棒的资源
- 执照
列表列表
由主题分类的很棒的精选列表。
| ☆ | 姓名 | 描述 |
|---|
| ★★★ | 良好的博客文章资源有关算法和数据结构-Codeforces | 由CodeForces用户撰写的奇妙教程博客文章的集合。一些有趣的东西包括回文树,基于策略的数据结构等等。 |
| ★★★ | 在CodeForces上找到的所有好教程-Codeforces | 由CodeForces用户撰写的另一本好的教程博客文章集。 |
| ★★★ | 数据结构和算法 - CodeChef讨论 | 竞争性编程资源的非常完整的列表。您的浏览器书签中必须有一个。 |
| ★★★ | 如何准备ACM -ICPC? - geeksforgeeks | ACM-ICPC准备工作的详细演练。 |
教学大纲
找出您需要学习的主题。
| ☆ | 姓名 | 描述 |
|---|
| ★★★ | IOI教学大纲 | 将对IOI参赛者进行测试的详细教学大纲。这仍然与ACM-ICPC有关。 |
| ★★★ | 如何准备ACM -ICPC? - geeksforgeeks | ACM-ICPC准备工作的详细演练。 |
| ★★☆ | 编程课程大纲 | 与运动问题有关的竞争性编程中重要主题的列表。 |
| ★★☆ | 大三培训表,莫斯塔法·萨德·易卜拉欣(Mostafa Saad Ibrahim) | 〜800个订购问题,让新移民良好到Div2-D |
教程网站
很棒的网站,带有很棒的教程。
| ☆ | 姓名 | 描述 |
|---|
| ★★★ | 编码器数据科学教程 | 由受人尊敬的Topcoder成员撰写的教程列表。许多顶级程序员从这里开始学习数据科学。 |
| ★★★ | E-MAXX(俄语),(英语) | 一个教程网站在讲俄语的竞争性编程社区中广泛使用和引用。原始网站的大多数文章已翻译成英文,Google Translate适合其余的网站。 |
| ★★☆ | 算法-Geeksforgeeks | 一个网站,其中包含有关不同主题的精美文章的大量档案。这是算法课程的绝佳免费资源。 |
| ★★☆ | 佩格维基 | 一个关于许多主题的网站,具有令人惊叹的Wiki般的文章。我认为,这远比维基百科的人要好得多。 |
| ★★☆ | 笔记 - 黑客 | 一个很棒的众包平台,用于教程。也访问代码和尚。 |
| ★★☆ | 美国计算奥林匹克(USACO) | 其网站上包含几个培训页面,这些培训页面旨在开发一个人以自己的速度以困难而多样的算法问题编程解决方案的技能。 |
| ★★☆ | 基础 | 具有深入的,插图的基本算法和数据结构的博客。 |
| ★★☆ | 竞争性编程 - 公共条目 | 初学者和中级概念的简短视频教程。从各种CP博客中可用的最佳教程中选择的高级教程。 |
| ★☆☆ | 在信息学上奥林匹克运动会 | 一份国际杂志专注于专业人士的研究和实践,这些专业人员正在为才华横溢的学生提供教学和学习信息学领域。 |
| ★☆☆ | 算法(俄语) | 一个专门用于各种算法的俄罗斯网站。该网站上列出的一些主题似乎很有趣。 |
| ★★☆ | 演算法笔记(算法注释)(中文) | 台湾竞争性编程社区中最受欢迎的教程网站之一。该网站的维护者在研究算法上花费了巨大的努力。 |
| ★★☆ | 国家集训队论文1999-2015(中文IOI培训营的论文)(中文) | 中国IOI训练营的论文。有趣的是,人们可以告诉不同的地区强调不同的事情。 |
| ★★★ | 迷你编辑,由莫斯塔法·萨德·易卜拉欣(Mostafa Saad Ibrahim)受训者 | 带有许多问题的迷你编辑解决方案,包括UVA/SPOJ/IOI/OlympiaD问题 |
| ★★☆ | Oi Wiki(竞争性编程)(中文) | Oi Wiki致力于自由开放,不断更新的编程竞赛(竞争编程)知识集成站点。这个Wiki是试图学习某些东西的竞争程序员的伴侣或指南 |
开放课程
考虑使用这些很棒的课程开始竞争性编程旅程!
| ☆ | 姓名 | 描述 |
|---|
| ★★☆ | 编码和尚,hackerearth | 关于竞争性编程的基本主题的出色逐步教程。 |
| ★★★ | Stanford CS 97SI:竞争性编程概论 | 提供全面的演讲幻灯片和简短的运动问题。 |
| ★★☆ | 如何赢得编码比赛:冠军的秘密 | ITMO大学在EDX上的竞争编码课程。 |
| ★★☆ | Codechef的印度编程营 | Codechef的2016年印度编程训练营的视频演讲。由Sergey Kulik,Kevin Charles Atienza和Anudeep Nekkanti等顶级竞争性程序员进行的演讲。主要专注于通过将这些概念应用于实际竞争竞赛问题来探索这些概念。 |
| ★★☆ | Reykjavik T-414-áflv:竞争性编程课程 | 由BjarkiágústGuðmundsson(Suprdewd)教授的很棒的课程。这些讲座具有整洁的幻灯片和练习的好列表。 |
| ★★☆ | NCTU DCP4631:解决问题和编程技术 | 一门关于良好演讲幻灯片的基本主题课程。 |
| ★☆☆ | 阿拉伯竞争节目YouTube频道的材料(英语) | Mostafa Saad Ibrahim的一些材料(幻灯片和源代码)涵盖了广泛的算法主题。 |
算法和数据结构的开放课程
| ☆ | 姓名 | 描述 |
|---|
| ★★★ | Prakhar1989/Awesome-Courses#算法 | 著名机构提供的开放课程清单(麻省理工学院,斯坦福大学,加州大学伯克利分校...等)。 |
| ★★★ | MIT SMA 5503:算法简介 | 由查尔斯·莱西森(Charles Leisoss)教授(算法简介的共同人物之一)和Erik Demaine教授(在数据科学方面取得了巨大突破的出色突破)讲授,该课程提供了出色的材料,并由直观和全面的分析。 |
| ★★☆ | UIUC算法课程 | 讲义,家庭作业,考试和讨论问题,涵盖了广泛的算法主题 |
图书
竞争性编程的推荐书籍列表。
| ☆ | 姓名 | 描述 |
|---|
| ★★☆ | 史蒂文(Steven)和费利克斯·哈利姆(Felix Halim)的竞争性编程 | 本书包含相关数据结构,算法和编程提示的集合。这是一本受欢迎的书。 ...第一版免费下载(PDF)。 |
| ★★☆ | 编程挑战:史蒂文·斯凯纳(Steven Skiena)和米格尔·雷维利亚(Miguel Revilla)的编程竞赛培训手册 | 这本书包括100多个编程挑战,以及接近它们所需的理论和关键概念。问题是由主题组织的,并补充了完整的教程材料。 |
| ★★☆ | Antti Laaksonen撰写的竞争性程序员手册 | 有抱负的IOI和ICPC参赛者的竞争编程简介。免费下载(PDF)。 |
| ★★☆ | 算法思维:丹尼尔·辛加罗(Daniel Zingaro)的基于问题的介绍 | 一本书,使用竞争性编程问题(IOI,USACO,CCC/CCO等)教授数据结构和算法。 |
| ★★☆ | 计算几何形状:算法和应用,由Mark de Berg,Otfried Cheong,Marc Van Kreveld,Mark Overmars | 这是一本写得很好的书,涵盖了广泛的计算几何问题。 |
| ★☆☆ | Nite Nimajneb的编程比赛指南 | 这本书免费下载(PDF)。本书涵盖了与竞争性编程相关的各种主题。 |
| ★★★ | プログラミングコンテストチャレンジブック(日语),秋叶拓哉,岩田阳一,北川宜稔 | 绝对出色的书。以非常连贯的方式组织的内容简直令人惊奇。 ...培养与锻炼程式设计的逻辑脑:世界级程式设计大赛的知识、心得与解题分享(中国传统) |
| ★★☆ | 算法竞赛入门经典(中文),刘汝佳 | 算法和编程比赛的艺术(英语),打下好基础:程式设计与演算法竞赛入门经典(中文传统) |
| ★★☆ | 算法竞赛入门经典———训练指南(中文),刘汝佳,陈锋 | 提升程式设计的解题思考力 - 国际演算法程式设计竞赛训练指南(中国传统) |
| ★★★ | 算法艺术与信息学竞赛(中文),刘汝佳,黄亮 | 旧时的经典。它很旧,但按照当今的标准,本书中的内容仍然非常困难。 |
算法的书籍
| ☆ | 姓名 | 描述 |
|---|
| ★★★ | 算法简介,托马斯·H·科尔森(Thomas H. | 这本书也称为CLR(取自名称缩写),通常称为算法和数据结构的“圣经”。这是大学算法课程最受欢迎的教科书之一。本书详细介绍了各种算法和数据结构。写作更加严格,对于某些人来说可能很难。 |
| ★★☆ | 算法设计,乔恩·克莱恩伯格(Jon Kleinberg)和ÉvaTardos | 这本书围绕设计算法的技术旋转。它是有组织的,并以清晰,可理解的语言编写。每章都有实用的例子和有用的练习支持。关于网络流的一章受到了很多的赞扬。 ...教科书随附的演讲幻灯片可在其官方网站上找到。 |
| ★★☆ | 算法设计手册,作者:史蒂文·S·斯凯纳(Steven S. | 这本书是用更可读的文字写的。有些人发现它比其他书籍全面。您还可以在其官方网站上找到一些良好的资源(包括作者自己的视频演讲)。 |
| ★★★ | 算法,罗伯特·塞奇威克(Robert Sedgewick)和凯文·韦恩(Kevin Wayne) | 这本书整齐地分类,再加上精致的解释和精彩的插图。它用于一些IOI培训营中作为教科书。 |
| 高级算法和数据结构,由Marcello la Rocca | 本书为算法提供了不同的方法,将理论与更实用的角度平衡,每章的部分着重于如何将算法应用于您日常工作或竞争性编程中的真实世界用例中;它还提供了经典,高级和新算法的混合物。 |
| ★★★ | 算法,杰夫·埃里克森(Jeff Erickson) | 根据CC的自行出版教科书的免费电子版本,由CC由4.0。这是伊利诺伊大学理论计算机科学课程的讲义中写得很好的书。涵盖了回溯,动态编程,贪婪,尤其是深度图的主要范例。 |
| Marcello La Rocca的Grokking数据结构 | Grokking数据结构仔细地引导您从数组或链接列表(如图)等最基本的数据结构(如图)等列表中引导您。它非常适合初学者,您不需要高中数学才能开始。您遇到的每种数据结构都具有其自己的完整的Python实现,因此您可以立即开始尝试学习的知识。 |
数学书籍
| ☆ | 姓名 | 描述 |
|---|
| ★★☆ | 肯尼思·H·罗森(Kenneth H. Rosen)的离散数学及其应用 | 离散数学与竞争性编程密切相关。本书提供了有关广泛主题的综合材料,包括:逻辑和证明,集合,功能,序列,矩阵,数字理论,递归,计数,概率,图形,树木,树木和布尔亚尔格拉(Boolean Alegra),仅举几例。 |
| ★★☆ | 混凝土数学:计算机科学基础,作者:罗纳德·格雷厄姆(Ronald L. Graham),唐纳德·E·努斯(Donald E. | 这本书提供了对离散数学的更深入的见解,并更加强调与数字相关的主题。 |
| ★★☆ | 线性代数及其应用,作者:David C. Lay,Steven R. Lay,Judi J. McDonald | 这本书在弥合物理系统(对于科学家和工程师)和抽象系统(数学家)之间的差距方面做得非常出色。 |
| ★★☆ | 概率简介,Charles M. Grinstead,J。LaurieSnell | 这是一本写得很好的入门概率书。 ...免费下载(PDF)(根据GNU免费文档许可发布)。 |
| ★★☆ | 如何解决它:G。Polya的数学方法的新方面 | 旧时的经典。在这本书中,作者提供了一种系统的方法来创造性地解决问题。 |
| ★★☆ | 大卫·帕特里克(David Patrick) | 计数和概率Byformer USA数学奥林匹克冠军戴维·帕特里克(David Patrick)的主题,包括包容性排斥,1-1对应关系,Pigeonhole原理,建设性期望,斐波那契和加泰罗尼亚语,递归和加泰罗尼亚数字,递归,条件,条件概率,生成功能,图形论等等。 |
练习站点
良好的在线法官系统 /竞赛平台进行练习。
| ☆ | 姓名 | 描述 |
|---|
| ★★★ | CodeForces | CodeForces是最受欢迎的比赛平台之一。目前由萨拉托夫州立大学(Saratov State University)维护的,其定期比赛和无数令人敬畏的原始问题。此外,每场比赛都提供作者本身撰写的立即有用的教程(通常)。 Codeforces还拥有一个强大而引人入胜的社区。总而言之,这里确实会在这里学习和进步。 |
| ★★★ | 上衣 | 自2001年以来,Topcoder就一直存在。历史悠久,在技术比赛中,它被认为是最负盛名的组织之一。数百个SRM诞生了大量的问题。这里的问题通常比其他问题更具挑战性,因此顶级编码器吸引了许多精英程序员。年度Topcoder Open(TCO)也是一个广泛讨论的事件。 |
| ★★★ | Google Code Jam | Google Code Jam当然是最受欢迎的编程比赛之一。竞争包括独特的编程挑战,必须在固定的时间内解决。竞争对手可以使用任何编程语言和开发环境来获得其解决方案。 |
| ★★★ | atcoder | Atcoder是一个由高评价的日本竞争计划者团队创建的新的但出色的竞赛平台。 |
| ★★☆ | codechef | Codechef是Directi的非营利性教育计划。这是一个全球竞争性的编程平台,拥有大量的程序员社区,可帮助学生和专业人员测试和提高其编码能力。它的目标是为学生和专业软件开发人员提供一个实践,竞争和改进的平台。除此之外,它旨在在学生年轻时与学生联系,并在印度灌输一种编程文化。 |
| ★★★ | spoj | SPOJ平台以在线法官系统为中心。它拥有大量的问题设定者社区或从以前的编程比赛中提取的惊人数量的问题,其中一些是实践的重要问题(请参阅问题分类器部分)。 SPOJ还允许高级用户根据自己的规则组织竞赛。 |
| ★★☆ | Timus | Timus Online法官是自动判断系统的最大俄罗斯编程问题档案馆。问题主要是从乌拉尔联邦大学,乌拉尔锦标赛,乌拉尔ACM ICPC次区域比赛和Petrozavodsk训练营举行的比赛中收集的。 |
| ★☆☆ | HDU | HDU是杭州戴安齐大学维护的在线法官。它是中国IOI场景中许多经典问题的所在地。 |
| ★★☆ | Aizu在线法官 | Aizu Online法官是Aizu大学主持的竞赛平台和问题档案。在日本的编程比赛中,它有很多很大的问题。 |
| ★★☆ | UVA | 一个老式问题档案 /在线法官,具有丰富的历史。这里出现了成千上万个问题,包括许多经典问题。但是,强烈建议您在其“竞争性编程练习”部分练习。 |
| ★★☆ | hackerrank | Hackerrank是一家专注于为消费者和企业面临竞争性编程挑战的公司。 Hackerrank的编程挑战可以用多种编程语言解决,并跨越多个计算机科学领域。 |
| ★★☆ | poj | POJ是一位在线法官,北京大学持有许多巨大的问题。大多数中国竞争性的程序员在这里开始旅程。该平台确实过时了,因此可能会发生神秘的汇编和运行时问题。 |
| ★★☆ | Euler项目 | Euler项目具有令人惊叹的一组良好的数学问题。它还举办一个论坛,人们可以在其中讨论。 |
| ★☆☆ | 黑客 | Hackerearth是一家位于印度班加罗尔的初创技术公司,可提供招聘解决方案。 |
| ★☆☆ | 加勒比在线法官 | COJ由Informatics Sciences(UCI,西班牙语的首字母缩写)主持,位于古巴。功能ACM ICPC和进步竞赛样式,主要来自加勒比海和拉丁美洲问题设定器,也具有问题分类器和竞赛日历。 |
| ★★☆ | CS学院 | CS Academy在竞争激烈的编程场景中是一位不断增长的在线法官,每两周举办一次比赛。它支持实时聊天,互动课程和集成的在线编辑器(实际上有效)。 |
| ★★☆ | 俄罗斯密码杯 | 由mail.ru组提供动力的编程竞赛。竞争包括3个资格,1个淘汰和1个最后一轮。对于每个回合参赛者,都必须在固定的时间内解决4-8个问题。 |
| ★★☆ | 代码战 | CodeFights是一个用于竞争性编程实践和面试准备的网站。它的每日挑战是各种难度,问题的档案和常规(每15分钟)的迷你旅行。对初学者有好处。 |
| ★★☆ | omegaup(西班牙) | Omegaup是一个基于社区的网站,用于竞争性编程培训。这也是墨西哥奥林匹克运动会(OMI:Olimpiada Mexicana deInformática)的地方。 |
问题分类器
网站对编程问题进行分类。
选择有关该主题的兴趣和实践问题的类别(例如DP)。
| ☆ | 姓名 | 描述 |
|---|
| ★★★ | A2在线法官 | 混合 |
| ★★★ | 问题分类器 | spoj |
| ★★☆ | UVA在线法官 | CP书 |
| ★☆☆ | CodeForces标签 | CF(DP) |
| ★★☆ | hackerrank | hackerrank |
| ★★☆ | 大三培训表,莫斯塔法·萨德·易卜拉欣(Mostafa Saad Ibrahim) | 〜800个订购问题,让新移民良好到Div2-D |
| ★★☆ | 幸运的猫的uva(ACM)园地(中文) | UVA |
| ★★☆ | Topcoder问题存档 | 类别和复杂性级别的问题列表 |
竞赛日历
即将进行的编程比赛的日历。
(永远不要错过另一场比赛!)
| ☆ | 姓名 | 描述 |
|---|
| ★★★ | 编程竞赛日历-Hackerrank | Google日历导出可用 |
| ★★☆ | 克里斯特 | 可用于使用的API |
| ★★☆ | 编码日历(Android应用) | |
| ★★☆ | 编码器的日历:Android App,Chrome Extension,Firefox附加组件 | |
| ★★★ | Codehorizon:iOS应用,Android应用程序 | |
| ★★★ | 竞争性编程竞赛日历 | Google日历导出可用 |
疑问的网站
这些是问问题的好网站。
将您的代码粘贴到Ideone,Pastebin或其他站点,以避免格式化问题。
| ☆ | 姓名 | 描述 |
|---|
| ★★★ | CodeForces | 为了快速答案,CodeForces绝对是询问与比赛有关的任何事情的选择。 |
| ★★★ | 竞争性编程 - Quora | 您通常会在Quora上获得更多详尽的答案,但是您可能不会直接回答问题。 |
| ★★☆ | 理论计算机科学堆栈交换 | 这个地方通常是针对学者的,因此请不要在这里询问有关竞赛问题的问题。 |
营地和培训
在线培训和营地。
| ☆ | 姓名 | 描述 |
|---|
| ★★★ | 在线免费解决问题的教练,由Mostafa Saad Ibrahim创作 | 请参阅教练细节,人们对其性质/质量发表评论。 |
实施
算法和数据结构实现。
| ☆ | 姓名 | 描述 |
|---|
| ★★★ | CODELIBRARY,ANDRY NAUMENKO(INDY256) | CODELIBRARY包含大量用于Java和C ++中算法和数据结构的实现。您也可以访问他的GitHub存储库。 |
| ★★★ | 意大利面条/算法,Takanori Maehara(@tmaehara) | 许多硬算法和数据结构的高质量实现。 |
| ★★★ | Simon Lindholm(Simonlindholm)等人的KTH竞争性编程/KACTL。 | 来自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代表台湾国家大学ACM-ICPC世界决赛。本笔记本包含用于高级数据结构和算法的强大实现。 |
| ★☆☆ | Foreverbell/acm-icpc-Cheat-seaet,Foreverbell(Foreverbell) | 一本具有一些高级数据结构和算法的笔记本,包括中国信息学领域的一些。 |
| ★☆☆ | igor的代码档案,由Igor Naverniouk(Abednego)撰写 | Igor Naverniouk的一本好笔记本,他目前是Google的软件工程师,并且是Google Code JAM团队的一部分。 |
语言细节
语言和其他杂项知识。
C/C ++
| ☆ | 姓名 | 描述 |
|---|
| ★★☆ | 用标准模板库加电C ++ -Topcoder:第1部分,第2部分 | 基本C ++ STL的介绍性教程。 |
| ★★☆ | 再次在C ++输入/输出-Codeforces上 | 了解有关C ++ I/O优化的更多信息。 |
| ★★☆ | C ++技巧-CodeForces ...在编程比赛中使用哪些很酷的C ++技巧? - Quora | 丰富的C ++技巧用于竞争性编程。请注意,有些应谨慎使用。 |
| ★★★ | C ++ STL:基于策略的数据结构 - CodeForces:第1部分,第2部分 | 详细介绍GNU C ++中实现的额外数据结构。可以在此处找到官方文件。 |
| ★☆☆ | C ++ 11常见问题解答(英语,中文,俄语,日语,韩文) | C ++的创建者Bjarne Stroustrup收集和撰写的有关C ++ 11的常见问题列表。 |
爪哇
| ☆ | 姓名 | 描述 |
|---|
| ★★☆ | 如何在Java中读取输入 - 教程 - codeforces | 了解如何更快地阅读输入。对于那些打算使用Java进行竞争性编程的人来说,这是必读的 |
| ★★☆ | 如何在Java中排序数组并避免使用-Codeforces | 一些有关如何避免达到最坏情况的技巧 |
| ★★☆ | Java中的Bignum算术 - 让我们胜过Biginteger! -Codeforces | 基本但更快的自定义Biginteger课程 |
| ★★☆ | EZ Collections,EZ Life(竞赛的新Java库)-Codeforces | 由Alexey Dergunov(Dalex)撰写的比赛的Java图书馆。 ArrayList,arraydeque,堆,排序,标签,hashmap,treeTet,treemap,treelist和Pair Class被实现 |
各种各样的
| ☆ | 姓名 | 描述 |
|---|
| ★★★ | 有点twitdling hacks | 庞大的钻头操纵技巧列表。 |
| ★★★ | 比较浮点数,2012年版 - 随机ASCII | 关于浮点数,您需要了解的一切。必须特别阅读几何主题。 |
| ★★☆ | 面向对象的C样式语言:C ++,Objective-C,Java,C# - 并排参考表 | 通用语法的详细并排参考表。 |
工具
很棒的工具,可以使您的生活更轻松。
IDES
| ☆ | 姓名 | 平台 | 描述 |
|---|
| ★★★ | vim | CLI /跨平台 | VIM是高级程序员中最受欢迎的文本编辑之一。它允许仅使用击键进行非常有效地进行文本编辑。 VIM也非常可配置,可扩展,并且与外壳(命令行)集成得很好。关于VIM的唯一挫折是,它对初学者具有很高的学习曲线。 |
| ★★★ | emacs | CLI /跨平台 | Emacs是另一个流行的文本编辑器(或更确切的开发环境)。关于“ VIM与Emacs”的辩论由于其知名度而不断提出。基本上,Emacs不仅仅是文本编辑器。它具有诸如文件管理器,Web浏览器,邮件客户端和新闻客户端之类的插件,可让用户直接在EMAC中执行这些任务。因此,Emacs“更重”,但可以说,对于初学者来说,学习曲线相对容易。 |
| ★★★ | 遥远的经理 | 混合 /窗口 | FAR Manager是RU/CIS竞争性编程社区中最广泛使用的编辑。它实际上是裸露的骨头中的文件管理器,但是您可以安装farcolorer-语法荧光笔插件来编程。经过正确配置,FAR Manager允许您在编写代码时非常有效地在文件之间导航。 |
| ★★★ | 代码::块 | GUI /跨平台 | 代码::块是C/C ++的首选。这是一个全面的,多才多艺的IDE,具有许多出色的功能。代码::块通常与编程比赛中的VIM一起提供。 |
| ★★★ | Intellij Idea | GUI /跨平台 | Intellij Idea当然是Java的最佳IDE之一。大多数使用Java作为主要语言的竞争性程序员使用它。请务必查看Chelper,这是一个非常方便的插件,编写了用于编程比赛的插件。 |
| ★★☆ | 崇高的文字 | GUI /跨平台 | Sublime文本是非凡的文本编辑器。充满了强大而创新的功能,例如多个镜头,最小值和指挥托盘,它吸引了一个强大而引人入胜的社区。 Sublime文本是高度扩展的,因此请确保安装了软件包控件并探索插件最大的目录之一! |
| ★★☆ | 蚀 | GUI /跨平台 | Eclipse是Java的另一个好IDE。这是Intellij Idea(按照当今标准的构想,这是一个不如Idea)的替代方法。有时,竞赛仅出于某种原因而提供日食,因此这可能是尝试使用Eclipse的好动力。 |
| ★★☆ | c | GUI /跨平台 | 由Jetbrains生产的Clion是同一家Intellij Idea的公司,是C ++的强大IDE。免费提供免费教育许可证,或者您可以尝试其EAP(早期访问计划),该公司截至2018年4月,该许可证仍然是免费的。您可能需要关闭其代码检查功能,因为这会导致很多滞后。 |
| ★☆☆ | 其他IDE | 混合 | Visual Studio是您要在C#中代码的IDE。 ... Atom和Visual Studio代码均使用电子(用JavaScript编写)构建,因此有点资源。 ... Codelite是新的上升IDE。提防负载和项目创造时间可能是非凡的。 |
个人用途
| ☆ | 姓名 | 描述 |
|---|
| ★★★ | Visualgo | 一个网站,其中包含用于算法和数据结构的大量可视化工具。 |
| ★★★ | 通用实践帮助者:... Chelper(Intellij Idea)(手册)... Caide(Visual Studio,CodeLite,独立命令行应用程序)... Jhelper(AppCode,clion)在线判断 - 判断工具(独立的CLI工具,它可以主动维护。) | 分析竞争,内联库代码并提供测试框架的好工具。它们可以使您免于将您宝贵的时间花在切换窗户和来回复制上。 |
| ★★☆ | CodeForces Parsers:... CodeForces Parser ... gocf ... cfparser(emacs)cfparser(cli) | 这些工具解析CodeForces竞争问题并有助于运行样本测试。 |
| ★★★ | 整数序列(OEI)的在线百科全书 | 具有无数整数序列数据库的令人惊叹的百科全书。它还具有功能强大的搜索引擎。有时,看似困难的组合学问题可能等效于简单或研究的整数序列。 |
| ★★☆ | 语法荧光笔:... tohtml.com ... markup.su ... hilite.me | 非常方便地创建具有漂亮,格式的代码片段的幻灯片或团队笔记本电脑。只需复制突出显示的代码片段,然后将它们粘贴到您喜欢的Wysiwyg(您可以看什么)编辑器中! |
| ★★☆ | 代码共享:... ideone.com ... pastebin.com ... ubuntu pastebin | 这些工具生成半永久性页面以用于代码共享。非常有用,尤其是当您试图让其他人查看您的代码时。 |
| ★★☆ | 无法言喻 | 一个简单的命令行分级器,用于本地分级。 |
| ★★☆ | udebug | 一个平台,为UVA在线法官的问题提供了用户指定输入的预期输出。一些问题还提供了其他测试案例进行调试。 |
比赛准备
| ☆ | 姓名 | 描述 |
|---|
| ★★★ | 多边形 | Polygon为专业比赛准备提供了一个平台和丰富的工具。 ...示例:带有testlib.h的验证器 - codeforces |
| ★★☆ | 图编辑器 | 创建和可视化图形的绝妙工具。 |
| ★★☆ | tcframe | C ++框架,用于生成竞争性编程问题的测试用例。 |
| ★★★ | 虚拟法官(vjudge) | 虚拟法官(Vjudge)允许用户创建具有著名问题档案中问题的虚拟竞赛。 |
| ★★☆ | BNU在线法官 | BNU在线法官还允许用户创建虚拟竞赛。 |
| ★★☆ | 卡蒂斯 | Kattis协助竞赛准备(通过电子邮件发送电子邮件以寻求帮助)。 |
社区
认识像上帝般的竞争程序员!
从这些人那里学习有用的技巧,教程和见解:)
博客
| 名称(句柄) | 博客名称 |
|---|
| CodeForces博客 |
| Petr Mitrichev(PETR) | 算法每周 |
| Makoto Soejima(RNG_58) | RNG_58的博客 |
| 布鲁斯·梅里(Bmerry) | 熵总是增加 |
| PrzemysławDęBiak(psyho) | Psyho的博客 |
| Anudeep nekkanti(Anudeep2011) | 命名空间Anudeep;) |
| Vexorian(Vexorian) | Vexorian的博客 |
| ASHAR FUADI(Fushar) | 福沙的博客 |
| Lijie Chen(WJMZBMR) | WJMZBMR(中文) |
| Huang I-Wen(Dreamoon) | 小月的耍废日志(中文) |
| Shiang-Yun Yang(Morris1028) | 莫里斯的博客(中文) |
| Yuhao du(Toodifficuit,Toosimple,Xudyh) | Xudyh(中文) |
YouTube和直播
| 名称(句柄) | 关联 |
|---|
| Petr Mitrichev(PETR) | YouTube |
| Ravindrababu Ravula的登机口演讲 | YouTube |
| Mostafa Saad Ibrahim(Mostafa.saad.fci) | 竞争性编程YouTube(阿拉伯语音 - 英语文本) |
| 图沙·罗伊(Tushar Roy) | YouTube,带有许多教程视频。 |
| geeksforgeeks | YouTube |
| 算法现场! | YouTube |
| codechef | YouTube |
| hackerrank | YouTube |
| Ideserve | YouTube |
| Code_report | YouTube,带有Hackerrank,LeetCode,TopCoder和CodeForces的比赛更新和问题教程。 |
| “ sothe”算法狼 | YouTube |
| Egor Kulikov(Egor) | YouTube |
| 亚当·巴达什维奇(Adam Bardashevich)(订户) | YouTube |
| Bohdan Pryshchenko(i_love_tanya_romanova) | 抽搐,YouTube |
| Vladimir Smykalov(Enot.1.10) | 抽搐,YouTube |
| Aleksandar Abas(Alex7) | YouTube |
| Mikhail Tikhomirov(Endagorion) | YouTube |
| Kamil Debowski(Errichto) | YouTube |
| 大卫·哈默(David Harmeyer)(第二线程) | YouTube,社论,高质量的讲座(高级主题) |
| mycodeschool | YouTube,基本编程,数据结构和算法的高质量视频 |
| 威廉·林(TMWilliamlin168) | YouTube,主要是溪流,提示,但鼓舞人心,有时是有见地的 |
| Codencode(Kazama460) | YouTube,涵盖各种CP相关主题的简短讲座,例如图理论,数字理论,DP,高级数据结构。 |
| Colin Galen(Galen_Colin) | YouTube,社论,屏幕截图 |
| 威廉·弗塞特(William Feset) | YouTube,涵盖几乎所有数据结构的高质量视频,算法 |
Quora
访问竞争性编程-Quora(观看最多的十大作家)。
| 重要的社区人物 | 描述 |
|---|
| Bill Poucher | ACM-ICPC执行董事。贝勒大学的CS教授。 |
| MichalForišek(错误) | IPSC和IOI的组织者。斯洛伐克Comenius大学的CS老师。算法和CS教育研究人员。前高级竞争的程序员。 |
| 艾哈迈德·艾莉(Ahmed_aly) | A2OJ的创始人。 HackerRank Lead Software Engineer. Former member of the Google Code Jam team. |
| Competitive Programmers | | |
|---|
| 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 TV (razimantv) | |
Other Awesome Resources
文章
Informative and helpful articles
| 主题 |
|---|
| Overview of Programming Contests, by 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, by Vishwesh Shrimali |
| Complete reference to competitive programming - HackerEarth, by Ravi Ojha |
| Getting started with the sport of competitive programming - HackerEarth, by Triveni Mahatha |
常见问题解答
Fine answers to frequently-asked questions
| 问题 |
|---|
| 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
Relevant awesome lists
| 姓名 | 关联 |
|---|
| C++ Books | The Definitive C++ Book Guide and List - Stack Overflow |
| Java Books | What are the best books to learn Java? - Quora |
| Advanced Java Books | What is the best book for advanced Java programming? - Quora |
| 算法 | tayllan/awesome-algorithms |
| Algorithm Visualization | enjalot/algovis |
| 数学 | rossant/awesome-math |
| C ++ | fffaraz/awesome-cpp |
| 爪哇 | akullpp/awesome-java |
| 课程 | prakhar1989/awesome-courses |
| Free Programming Books | vhf/free-programming-books |
| Community-curated C++ Resources | Hackr.io |
面试问题
| 姓名 | 描述 |
|---|
| CareerCup | The most popular website for software engineering interview preparation. |
| InterviewBit | Features intriguing and refreshing game-play designs which are designed to invoke one's interest in practicing. |
| Awesome Interviews | A curated list of awesome interview questions |
| leetcode | Well-organized website for software engineering interview preparation with best explanined solutions. |
执照
Awesome Competitive Programming is licensed under a Creative Commons Attribution 4.0 International License.