Потрясающее конкурентное программирование
Куративный список удивительных Competitive Programming , Algorithm и ресурсов Data Structure .
Созданный с целью подключения людей к информации, этот список ниже содержит полную коллекцию всех фантастических ресурсов, которые я собрал в течение моей 11-летней карьеры по программированию. Надеюсь, ты найдешь это полезным :)
Что такое конкурентное программирование? - Quora
Внося
Пожалуйста, следите за Anforming.md, чтобы начать.
Вы также можете внести свой вклад, поделившись!
Поделитесь списком со своими одноклассниками, друзьями и всеми :)
Подключив больше людей к информации,
Ты делаешь не я, но все - огромная услуга!
Я действительно надеюсь, что больше людей смогут извлечь выгоду из этого списка :)
Оглавление
- Список списков
- Программы
- Учебные сайты
- Открытые курсы
- Открытые курсы для алгоритмов и структур данных
- Книги
- Книги для алгоритмов | Книги по математике
- Сайты для практики
- Проблемные классификаторы | Календари конкурсов
- Лагеря и тренинги
- Сайты для вопросов
- Реализации
- Языковая специфика
- C/C ++ | Java | Разнообразный
- Инструменты
- Ides | Личное использование | Подготовка конкурса
- Сообщество
- Блоги | YouTube и Livestreams | Quora
- Другие потрясающие ресурсы
- Статьи | Часто задаваемые вопросы | Потрясающие списки | Вопросы интервью
- Лицензия
Список списков
Удивительные кураторские списки, классифицированные по темам.
| ☆ | Имя | Описание |
|---|
| ★★★ | Хорошие ресурсы сообщения в блоге об алгоритме и структурах данных - Codeforces | Коллекция фантастических учебных постов в блоге, написанных пользователями CodeForces. Некоторые интригующие включают палиндромические деревья, политические структуры данных и многое другое. |
| ★★★ | Все хорошие уроки, найденные на кодовых точках - CodeForces | Еще одна хорошая коллекция учебных постов в блоге, написанных пользователями CodeForces. |
| ★★★ | Структуры и алгоритмы данных - Codechef обсудить | Очень полный список конкурентных ресурсов программирования. Обязательно в вашем браузере закладка. |
| ★★★ | Как подготовиться к ACM - ICPC? - Гиксфорджики | Подробный проход с препаратами для ACM-ICPC. |
Программы
Узнайте, какие темы вам нужно выучить.
| ☆ | Имя | Описание |
|---|
| ★★★ | IOI программа | Подробный учебный план, на котором будут проверены участники IOI. Это все еще несколько актуально для ACM-ICPC. |
| ★★★ | Как подготовиться к ACM - ICPC? - Гиксфорджики | Подробный проход с препаратами для ACM-ICPC. |
| ★★ ☆ | Программный лагерь программа | Список важных тем в конкурентном программировании с проблемами упражнений. |
| ★★ ☆ | Тренировочный лист юниоров, Мостафа Саад Ибрагим | ~ 800 заказанных проблем для новичков, чтобы быть хорошими вплоть до Div2-D |
Учебные сайты
Потрясающие сайты с отличными учебниками.
| ☆ | Имя | Описание |
|---|
| ★★★ | Topcoder Data Science | Список учебников, написанных уважаемыми членами Topcoder. Многие ведущие программисты начали изучать науки данных отсюда. |
| ★★★ | E-maxx (русский), (английский) | Учебный веб-сайт широко используется и ссылается в российскоязычном сообществе конкурентных программ. Большинство статей оригинального сайта были переведены на английский язык, Google Translate работает нормально для оставшихся. |
| ★★ ☆ | Алгоритмы - гикс -гид | Веб -сайт с большим архивом красиво написанных статей по разным темам. Это отличный бесплатный ресурс для курсов алгоритма. |
| ★★ ☆ | Пегвики | Веб-сайт с удивительными углубленными вики, похожими на вики, по многим темам. На мой взгляд, это гораздо лучше, чем те, которые в Википедии. |
| ★★ ☆ | Примечания - Хакерха | Отличная краудсорсинговая платформа для учебных пособий. Также посетите код монаха. |
| ★★ ☆ | USA Computing Olympiad (USACO) | Содержит несколько учебных страниц на своем веб -сайте, которые предназначены для развития своих навыков в программных решениях для сложных и разнообразных алгоритмических проблем в своем собственном темпе. |
| ★★ ☆ | базовые | Блог с подробными, иллюстрированными учебниками по основным алгоритмам и структурам данных. |
| ★★ ☆ | Конкурентное программирование - CommonLounge | Короткие видеоуроки для начинающих и промежуточных концепций. Усовершенствованные учебные пособия, выбранные из лучших, доступных в различных блогах CP. |
| ★ ☆☆ | Олимпиады в информатике | Международный журнал был посвящен исследованию и практике профессионалов, которые работают в области преподавания и обучения информатике для талантливого студента. |
| ★ ☆☆ | Алголист (русский) | Российский веб -сайт, посвященный алгоритмам всех видов. Некоторые темы, перечисленные на этом сайте, кажется довольно интересными. |
| ★★ ☆ | 演算法筆記 (примечания алгоритма) (китайский) | Один из самых популярных учебных сайтов среди тайваньского сообщества конкурентных программ. Содействие этому веб -сайту тратит огромные усилия по изучению алгоритмов. |
| ★★ ☆ | 国家集训队论文 1999-2015 (документы из китайских тренировочных лагерей IOI) (китайский) | Документы из китайских тренировочных лагерей IOI. Интересно, что можно сказать, что разные регионы подчеркивают разные вещи. |
| ★★★ | Мини-редакториальные, от Мостафы Саад Ибрагим, стажеры | Решения с мини-редакторами для многих проблем, включая проблемы UVA/SPOJ/IOI/Olympiad |
| ★★ ☆ | Oi wiki (конкурентное программирование) (китайский) | OI Wiki стремится быть бесплатным и открытым непрерывно обновленным сайтом интеграции знаний по программированию (конкурентное программирование). Эта вики является своего рода компаньоном или руководством для конкурентного программиста, который пытается чему -то научиться |
Открытые курсы
Рассмотрим начало вашего конкурентного путешествия по программированию с этими удивительными курсами!
| ☆ | Имя | Описание |
|---|
| ★★ ☆ | Кодовый монах, от Hackerath | Фантастический пошаговый учебник по основным темам в конкурентном программировании. |
| ★★★ | Stanford CS 97SI: введение в конкурсы конкурсных программ | Предлагает комплексные слайды лекций и короткий список проблем с упражнениями. |
| ★★ ☆ | Как выиграть соревнования по кодированию: секреты чемпионов | Курс Университета ITMO по конкурентному кодированию на EDX. |
| ★★ ☆ | Индийский программный лагерь Codechef | Видео -лекции из Индийского программного лагеря Codechef 2016. Лекции, проведенные ведущими конкурентными программистами, такими как Сергей Кулик, Кевин Чарльз Атиенца и Анудеэп Некканти. В первую очередь сосредоточен на изучении этих концепций, применяя их к фактическим конкурсным проблемам. |
| ★★ ☆ | Reykjavik T-414-áflv: курс конкурентного программирования | Удивительный курс, преподанный Бьярки Агуст Гудмундссон (Suprdewd). Эти лекции оснащены аккуратными слайдами и хорошим списком проблем для практики. |
| ★★ ☆ | NCTU DCP4631: методы решения проблем и программирования | Курс по основным темам с хорошими слайдами лекций. |
| ★ ☆☆ | Материалы (английский) от арабского конкурентного программного канала YouTube | Некоторые материалы (слайды и исходные коды), охватывающие широкий спектр алгоритмических тем Мостафа Саада Ибрагима. |
Открытые курсы для алгоритмов и структур данных
| ☆ | Имя | Описание |
|---|
| ★★★ | Prakhar1989/Awesome-Courses#Алгоритмы | Фантастический список открытых курсов, предлагаемых известными учреждениями (MIT, Стэнфорд, UC Berkeley ... и т. Д.). |
| ★★★ | MIT SMA 5503: Введение в алгоритмы | Лекция профессора Чарльза Лейзерсона (один из соавторов введения в алгоритмы) и профессора Эрика Демейна (блестящий профессор, который сделал замечательные прорывы в области науки о данных), курс предлагает отличные материалы, сопровождаемые интуитивными и всесторонними анализами. |
| ★★ ☆ | Курс алгоритма UIUC | Заметки на лекции, домашние работы, экзамены и проблемы с обсуждением, охватывающие широкий спектр алгоритмических тем. |
Книги
Список рекомендуемых книг для конкурентного программирования.
| ☆ | Имя | Описание |
|---|
| ★★ ☆ | Конкурентное программирование, Стивен и Феликс Халим | Эта книга содержит набор соответствующих структур данных, алгоритмов и советов по программированию. Это хорошо принятая книга. ... Первое издание бесплатно для загрузки (PDF). |
| ★★ ☆ | Проблемы программирования: Руководство по обучению программирования Стивена Скиена и Мигеля Ревилья | Эта книга включает в себя более 100 задач программирования, а также теорию и ключевые концепции, необходимые для их приближения. Проблемы организованы по теме и дополняются полным учебным материалом. |
| ★★ ☆ | Справочник по конкурентному программисту, Антти Лааксонен | Введение в конкурентное программирование для начинающих участников IOI и ICPC. Бесплатно скачать (PDF). |
| ★★ ☆ | Алгоритмическое мышление: основанное на проблеме введение Даниэля Зингаро | Книга, которая обучает структурам данных и алгоритмам с использованием конкурентных проблем программирования (IOI, USACO, CCC/CCO и т. Д.). |
| ★★ ☆ | Вычислительная геометрия: алгоритмы и приложения, Марк де Берг, Отфрид Чонг, Марк Ван Кревелд, Марк Овермарс | Это хорошо написанная книга, которая охватывает широкий спектр задач вычислительной геометрии. |
| ★ ☆☆ | Руководство автостопщика по конкурсам программирования, Nite Nimajneb | Эта книга бесплатна для скачивания (PDF). Эта книга охватывает различные темы, относящиеся к конкурентному программированию. |
| ★★★ | プログラミングコンテストチャレンジブック (японский), по 秋葉拓哉, 岩田陽一, 北川宜稔 | Абсолютно феноменальная книга. Содержание, организованное очень последовательным образом, не что иное, как удивительное. ... : : 世界級程式設計大賽的知識、心得與解題分享 (китайский традиционный) |
| ★★ ☆ | 算法竞赛入门经典 (китайский), 刘汝佳 | Искусство алгоритмов и конкурсов программирования (английский), 打下好基礎 : 程式設計與演算法競賽入門經典 (китайский традиционный) |
| ★★ ☆ | 算法竞赛入门经典 - 训练指南 (китайский), 刘汝佳, 陈锋 | 提升程式設計的解題思考力 ─ 國際演算法程式設計競賽訓練指南 (китайский традиционный) |
| ★★★ | 算法艺术与信息学竞赛 (китайский), 刘汝佳, 黄亮 | Старая классика. Он старый, но содержимое в этой книге по -прежнему считается очень трудным по сегодняшним стандартам. |
Книги для алгоритмов
| ☆ | Имя | Описание |
|---|
| ★★★ | Введение в алгоритмы Томас Х. Кормен, Чарльз Э. Лейзерсон, Рональд Л. Ривенест и Клиффорд Стейн | Также известная как CLR (взятая из инициалов имени), эта книга часто называют «Библией» для алгоритмов и структур данных. Это один из самых популярных учебников для университетских курсов алгоритма. Эта книга охватывала различные алгоритмы и структуры данных в отличие от подробно. Письмо более строгое и может быть трудно для некоторых. |
| ★★ ☆ | Алгоритм дизайн, Джон Кляйнберг и Эва Тардос | Эта книга вращается вокруг методов проектирования алгоритмов. Он хорошо организован и написан на ясном, понятном языке. Каждая глава поддерживается практическими примерами и полезными упражнениями. Глава о сетевом потоке высоко оценивается лотами. ... Лекция слайды, сопровождающие учебник, доступны на его официальном сайте. |
| ★★ ☆ | Руководство по дизайну алгоритма Стивена С. Скиена | Книга написана в более читаемом тексте. Некоторые считают это всеобъемлющим, чем другие книги. Вы также можете найти несколько хороших ресурсов (включая собственные видео -лекции автора) на его официальном веб -сайте. |
| ★★★ | Алгоритмы, Роберт Седжвик и Кевин Уэйн | Эта книга аккуратно классифицирована в сочетании с сложными объяснениями и фантастическими иллюстрациями. Он используется в некоторых тренировочных лагерях IOI в качестве учебника. |
| Усовершенствованные алгоритмы и структуры данных, Marcello La Rocca | Эта книга обеспечивает другой подход к алгоритмам, сбалансирующим теорию с более практичным углом, с разделом на предварительную работу, посвященную тому, как применять алгоритмы к реальным вариантам использования, которые можно найти в вашей ежедневной работе или в конкурентном программировании; Он также представляет собой смесь классических, продвинутых и новых алгоритмов. |
| ★★★ | Алгоритмы, Джефф Эриксон | Бесплатная электронная версия самоизданного учебника, лицензированного в соответствии с CC на 4.0. Это хорошо написанная книга из лекционных заметок теоретических курсов по информатике в Университете Иллинойса. Охватывает основные парадигмы обратного отступления, динамического программирования, жадного и особенно графиков. |
| Структуры данных Grokking, Marcello La Rocca | Структуры данных Grokking тщательно направляют вас из самых основных структур данных, таких как массивы или связанные списки вплоть до мощных структур, таких как графики. Это идеально подходит для начинающих, и вам не понадобится ничего, чем математика в старшей школе, чтобы начать работу. Каждая структура данных, с которой вы сталкиваетесь, поставляется с собственной полной реализацией Python, поэтому вы можете начать экспериментировать с тем, что вы изучаете. |
Книги по математике
| ☆ | Имя | Описание |
|---|
| ★★ ☆ | Дискретная математика и ее приложения Кеннета Х. Розена | Дискретная математика тесно связана с конкурентным программированием. Эта книга содержит всеобъемлющие материалы на широкий спектр тем, в том числе: логика и доказательства, наборы, функции, последовательности, матрицы, теорию чисел, рекурсию, подсчет, вероятность, графики, деревья и логическая Alegra и некоторые из них. |
| ★★ ☆ | Бетонная математика: основа для компьютерных наук, Рональд Л. Грэм, Дональд Э. Кнут, Орен Паташник | Книга предлагает более глубокое понимание дискретной математики с большим акцентом на темы, связанные с номерами. |
| ★★ ☆ | Линейная алгебра и ее приложения, Дэвид С. Лей, Стивен Р. Лей, Джуди Дж. Макдональд | Книга выполняет блестящую работу по преодолению разрыва между физической системой (для ученых и инженеров) и абстрактной системой (для математиков). |
| ★★ ☆ | Введение в вероятность, Чарльз М. Гринстед, Дж. Лори Снелл | Это хорошо написанная вводная книга вероятностей. ... Это бесплатно для загрузки (PDF) (выпущенная по лицензии на документацию GNU). |
| ★★ ☆ | Как его решить: новый аспект математического метода, G. Polya | Старая классика. В этой книге автор предоставляет систематический способ творческого решения проблем. |
| ★★ ☆ | Промежуточный подсчет и вероятность, Дэвид Патрик | Темы подсчета и вероятности Byformer USA Математическая олимпиада победитель Дэвид Патрик, темы включают в себя эксклюзия включения, 1-1 соответствия, принцип голубей, конструктивные ожидания, фибоначчи и числа каталон, рекурсию, условную вероятность, генерирующие функции, теория графа и многое другое. |
Сайты для практики
Хорошие онлайн -системы судьи / конкурсные платформы для практики.
| ☆ | Имя | Описание |
|---|
| ★★★ | Кодформы | CodeForces - одна из самых популярных конкурсных платформ. В настоящее время поддерживается государственным университетом Саратов, в нем участвуют регулярные конкурсы и бесчисленные удивительные оригинальные проблемы. Кроме того, каждый конкурс предоставляет немедленные полезные учебники (обычно), написанные самими авторами. Codeforces также находится сильное и привлекательное сообщество. В целом, здесь действительно учится и значительно улучшится. |
| ★★★ | Топ -кодер | Topcoder существует с 2001 года. Богатый в истории, он считается одной из самых престижных организаций, когда речь заходит о технологических соревнованиях. Сотни SRMS родили обильные проблемы. Проблемы здесь, как правило, более сложные, чем другие, а Topcoder обращается ко многим элитным программистам. Ежегодный Open Topcoder (TCO) также является широко обсуждаемым событием. |
| ★★★ | Google Code Jam | Google Code Jam, безусловно, является одним из самых высоко оцененных конкурсов программирования. Конкуренция состоит из уникальных проблем программирования, которые должны быть решены за фиксированное количество времени. Конкуренты могут использовать любой язык программирования и среду разработки для получения своих решений. |
| ★★★ | Аткодер | Atcoder-это новая, но феноменальная конкурсная платформа, созданная командой высоко оцененных японских конкурентных программистов. |
| ★★ ☆ | Кодехф | Codechef-это некоммерческая образовательная инициатива Directi. Это глобальная конкурентная платформа программирования и имеет большое сообщество программистов, которое помогает студентам и профессионалам проверить и улучшать свои навыки кодирования. Его цель - предоставить платформу для практики, конкуренции и улучшения как для студентов, так и для профессиональных разработчиков программного обеспечения. Кроме того, он направлен на то, чтобы связаться со студентами, пока они молоды и прививают культуру программирования в Индии. |
| ★★★ | СПО | Платформа SPOJ сосредоточена вокруг онлайн -системы судьи. В нем есть ошеломляющее количество проблем, подготовленных его сообществом задач, или взятых из предыдущих конкурсов программирования, некоторые из которых являются большими проблемами для практики (см. Раздел проблемных классификаторов). Spoj также позволяет продвинутым пользователям организовать конкурсы в соответствии с их собственными правилами. |
| ★★ ☆ | ТИМУС | Онлайн -судья Timus - крупнейший российский архив проблем программ с автоматической системой судейства. Проблемы в основном собираются из конкурсов, проводимых в Уральском федеральном университете, чемпионате Урал, соревнованиях по субрегиональным соревнованиям Урал АКМ и тренировочным лагерям Петрозаводска. |
| ★ ☆☆ | HDU | HDU - онлайн -судья, поддерживаемый Университетом Ханчжоу Дианзи. Здесь находится множество классических проблем с китайской сцены IOI. |
| ★★ ☆ | Айзу онлайн судья | Айзу онлайн -судья - это конкурсная платформа и проблемы с проблемами, организованный Университетом Айзу. У этого есть много больших проблем со стороны программных соревнований в Японии. |
| ★★ ☆ | UVA | Старая школа Архив / онлайн-судья с богатой историей. Тысячи проблем, в том числе много классических, представлены здесь. Тем не менее, настоятельно рекомендуется практиковать с Ухунтом, следуя его разделу «Конкурентное упражнение по программированию». |
| ★★ ☆ | Хакерранк | Hackerrank - это компания, которая фокусируется на конкурентных проблемах программирования как для потребителей, так и для бизнеса. Задачи Hackerrank по программированию могут быть решены на различных языках программирования и охватывают несколько областей компьютерных наук. |
| ★★ ☆ | POJ | POJ - онлайн -судья со многими большими проблемами, поддерживаемыми Пекинским университетом. Большинство китайских конкурентных программистов начали свое путешествие здесь. Платформа действительно датирована таким загадочным компиляцией, и могут возникнуть проблемы с выполнением. |
| ★★ ☆ | Проект Эйлер | Project Euler имеет потрясающий набор хороших математических проблем. На нем также проводится форум, на котором люди могут обсудить. |
| ★ ☆☆ | Хакерха | Hackerearth - это компания -технологическая компания, базирующаяся в Бангалоре, Индия, которая предоставляет решения для набора персонала. |
| ★ ☆☆ | Карибский онлайн -судья | COJ организуется Университетом наук о информатике (UCI, по его аббревиатуре на испанском), расположенном на Кубе. Особенности ACM ICPC и прогрессивные стили конкурса, в основном из карибских и латиноамериканских задач, также имеют проблемы с классификатором и конкурсом. |
| ★★ ☆ | CS Academy | Новая в сцене конкурентных программ, CS Academy - это растущий онлайн -судья, который проводит соревнования раз в две недели. Он поддерживает живой чат, интерактивные уроки и интегрированный онлайн -редактор (который на самом деле работает). |
| ★★ ☆ | Российский кодовый кубок | Соревнования по программированию, основанные на Mail.Ru Group. Конкуренция состоит из 3 квалификации, 1 ликвидации и 1 финальных раундов. Для каждого раунда участников получают 4-8 задач, которые должны быть решены за фиксированное количество времени. |
| ★★ ☆ | Кодовые бои | CodeFights - это веб -сайт для конкурентной практики программирования и подготовки интервью. В нем представлены ежедневные проблемы различной сложности, архив проблем и регулярных (каждые 15 минут) мини-турниров. Хорошо для начинающих. |
| ★★ ☆ | Omegaup (испанский) | Omegaup-это веб-сайт на уровне сообщества для конкурентного обучения программированию. Это также там, где находится мексиканская олимпиада в области информатики (OMI: Olimpiada Mexicana de Informáta). |
Проблемные классификаторы
Сайты классифицируют проблемы программирования.
Выберите категорию (например, DP), представляющая интерес и проблемы практики по этой теме.
| ☆ | Имя | Описание |
|---|
| ★★★ | A2 онлайн -судья | Смешанный |
| ★★★ | Проблемный классификатор | СПО |
| ★★ ☆ | UVA онлайн судья | CP книга |
| ★ ☆☆ | Теги Codeforces | CF (DP) |
| ★★ ☆ | Хакерранк | Хакерранк |
| ★★ ☆ | Тренировочный лист юниоров, Мостафа Саад Ибрагим | ~ 800 заказанных проблем для новичков, чтобы быть хорошими вплоть до Div2-D |
| ★★ ☆ | Lucky 貓的 UVA (ACM) 園地 (китайский) | UVA |
| ★★ ☆ | Архив проблемы с топ -кодером | Список проблем с категориями и уровнями сложности |
Календари конкурсов
Календари для предстоящих конкурсов программирования.
(Никогда не пропустите другой конкурс!)
| ☆ | Имя | Описание |
|---|
| ★★★ | Календарь конкурса программирования - Hackerrank | Экспорт календаря Google доступен |
| ★★ ☆ | Clist.by | API доступен для использования |
| ★★ ☆ | Календарь кодирования (приложение для Android) | |
| ★★ ☆ | Календарь кодера: приложение для Android, расширение Chrome, дополнение Firefox | |
| ★★★ | CodeHorizon: приложение для iOS, приложение для Android | |
| ★★★ | Календарь конкурсных конкурсов по программированию | Экспорт календаря Google доступен |
Сайты для вопросов
Это отличные сайты, чтобы задавать вопросы.
Вставьте свои коды в IdeOne, Pastebin или другие сайты, чтобы избежать проблем форматирования.
| ☆ | Имя | Описание |
|---|
| ★★★ | Кодформы | Для быстрых ответов CodeForces, безусловно, является местом, где можно спросить обо всем, что связано с конкуренцией. |
| ★★★ | Конкурентное программирование - Quora | Обычно вы получаете более сложные ответы на Quora, но вы можете не ответить на свои вопросы сразу. |
| ★★ ☆ | Теоретический обмен стеком информатики | Это место, как правило, для ученых, поэтому не задавайте вопросов о проблемах конкурса здесь. |
Лагеря и тренинги
Онлайн -тренинги и лагеря.
| ☆ | Имя | Описание |
|---|
| ★★★ | Онлайн бесплатный коучинг по решению проблем, от Мостафа Саад Ибрагим | Смотрите подробности коучинга, и люди комментируют его природу/качество. |
Реализации
Алгоритм и реализации структуры данных.
| ☆ | Имя | Описание |
|---|
| ★★★ | Коделибрика, Андрей Наменко (Indy256) | Коделибрика содержит большую коллекцию реализаций для алгоритмов и структур данных в Java и C ++. Вы также можете посетить его репозиторий GitHub. |
| ★★★ | Spaghetti-Source/Algorithm, Takanori Maehara (@tmaehara) | Высококачественные реализации многих жестких алгоритмов и структур данных. |
| ★★★ | KTH-конкурентоспособное программирование/KACTL, Simon Lindholm (Simonlindholm) et al. | Феноменально организованная, задокументированная и протестированная командная ноутбука из Королевского технологического института KTH. Один из самых хорошо продуманных командных ноутбуков (библиотеки конкурса), которые я когда-либо видел. |
| ★★ ☆ | Jaehyunp/Stanfordacm | Командная ноутбука Стэнфорда в хорошем состоянии, а коды в пределах качества. |
| ★★ ☆ | ngthanhtrung23/acm_notebook_new, Team Rr Watameda (i_love_hoang_yen, Flashmt, Nguyenhungtam) из Национального университета Сингапура | RR Watameda представлял Национальный университет Сингапура для мировых финалов ACM-ICPC 2016 года. Элементы в этом ноутбуке довольно стандартные и хорошо организованные. |
| ★★ ☆ | Bobogei81123/bcw_codebook, команда BCW0x1bd2 (Darkhh, Bobogei81123, Step5) из Национального Тайванского университета | BCW0X1BD2 представлял Национальный Тайваньский университет для мировых финалов ACM-ICPC 2016 года. Этот ноутбук содержит надежные реализации для расширенных структур данных и алгоритмов. |
| ★ ☆☆ | Foreverbell/ACM-ICPC-Cheat-Sheet, Foreverbell (Foreverbell) | Ноутбук с некоторыми передовыми структурами данных и алгоритмами, включая некоторые из сцены информатики Китая. |
| ★ ☆☆ | Архив кода Игоря, Игорь Наверниук (Абеднего) | Хороший блокнот Igor Naverniouk, который в настоящее время является инженером -программистом в Google и частью команды Google Code Jam. |
Языковая специфика
Языки и другие разные знания.
C/C ++
| ☆ | Имя | Описание |
|---|
| ★★ ☆ | Power Up C ++ со стандартной библиотекой шаблонов - Topcoder: Часть 1, Часть 2 | Вводной учебник по базовым C ++ STLS. |
| ★★ ☆ | Еще раз при входе/выводе C ++ - Codeforces | Узнайте больше об оптимизации ввода/вывода C ++. |
| ★★ ☆ | C ++ трюки - кодовыеформы ... Какие классные трюки C ++ можно использовать в конкурсе программирования? - Quora | В изобилии уловки C ++ для конкурентного программирования. Обратите внимание, что некоторые должны использоваться с осторожностью. |
| ★★★ | C ++ STL: Структуры данных на основе политики - Codeforces: Часть 1, часть 2 | Подробное введение в дополнительные структуры данных, реализованные в GNU C ++. Официальной документации можно найти здесь. |
| ★ ☆☆ | C ++ 11 FAQ (английский, китайский, русский, японский, корейский) | Список часто задаваемых вопросов, касающихся C ++ 11, собранного и написанного Bjarne Stroustrup, создателем C ++. |
Ява
| ☆ | Имя | Описание |
|---|
| ★★ ☆ | Как прочитать ввод в Java - Учебное пособие - Codeforces | Узнайте, как читать ввод быстрее. Это обязательное прочитание для тех, кто собирается использовать Java для конкурентного программирования |
| ★★ ☆ | Как сортировать массивы в Java и избежать TLE - кодовыеформы | Некоторые советы о том, как избежать удара худшего случая быстрого сортировки |
| ★★ ☆ | Bignum Arithmetic в Java - давайте опередить Biginteger! - Codeforces | Основной, но более быстрый класс Biginteger |
| ★★ ☆ | EZ Collections, EZ Life (New Java Library для конкурсов) - Codeforces | Библиотека Java для конкурсов, написанных Алекси Дергунов (Dalex). Arraylist, Arraydeque, Heap, Sort, Hashset, Hashmap, Treesset, Treemap, Treelest и Pair Class |
Разнообразный
| ☆ | Имя | Описание |
|---|
| ★★★ | Несколько взломов | Огромный собранной список хитростей битовых манипуляций. |
| ★★★ | Сравнение номеров с плавающей запятой, издание 2012 года - случайный ASCII | Все, что вам нужно знать о номерах с плавающей запятой. Обязательно прочитал особенно для геометрических тем. |
| ★★ ☆ | Объектно-ориентированные языки стиля C: C ++, Objective-C, Java, C#-справочный лист бок о бок | Подробный справочный лист бок о бок для общих синтаксисов. |
Инструменты
Потрясающие инструменты, которые облегчат вашу жизнь.
Иды
| ☆ | Имя | Платформа | Описание |
|---|
| ★★★ | Вим | CLI / Cross-Platform | Vim является одним из самых популярных текстовых редакторов среди продвинутых программистов. Это позволяет редактированию текста очень эффективно с нажатиями на клавиш. VIM также очень хорошо настраивается, расширяется и интегрирует с оболочками (командными линиями). Единственная неудача в VIM - это то, что у него высокая кривая обучения для начинающих. |
| ★★★ | Эмац | CLI / Cross-Platform | EMACS - еще один популярный текстовый редактор (или среда разработки, чтобы быть более точной). Дискуссия о «Vim vs. Emacs» постоянно воспитывается из -за их популярности. В основном Emacs - это больше, чем просто текстовый редактор. У него есть плагины, такие как управляющие файлами, веб -браузеры, почтовые клиенты и клиенты новостей, которые позволяют пользователям выполнять эти задачи непосредственно внутри EMACS. EMACS «тяжелее» из -за этого, но, возможно, у него есть относительно более легкая кривая обучения для начинающих. |
| ★★★ | Далеко менеджер | Гибрид / окна | Far Manager является наиболее широко используемым редактором в сообществе конкурентных программ RU/CIS. На самом деле это файловый диспетчер в своих голых костях, но вы можете установить Farcolorer - плагин с синтаксисом для программы на него. Правильно настроенный, Far Manager позволяет вам очень эффективно перемещаться между файлами при написании ваших кодов. |
| ★★★ | Code :: Blocks | Графический интерфейс / кросс-платформ | Code :: Blocks-это IDE для C/C ++. Это полноценная, универсальная идея с множеством отличных черт. Code :: Blocks обычно предоставляется вместе с VIM в конкурсах программирования. |
| ★★★ | INTELLIJ IDEA | Графический интерфейс / кросс-платформ | INTELLIJ Idea, безусловно, является одним из лучших IDE для Java. Он используется большинством конкурентных программистов, которые используют Java в качестве основного языка. Обязательно посетите Chelper, очень удобный плагин, написанный для конкурсов программирования. |
| ★★ ☆ | Возвышенный текст | Графический интерфейс / кросс-платформ | Сублимский текст - необычный текстовый редактор. Заполненный мощными и инновационными функциями, такими как несколько каритерских заболеваний, минимумов и командных поддонов, он привлекает сильное и привлекательное сообщество. Подличный текст очень расширяется, поэтому обязательно установите управление пакетами и исследуйте, пожалуй, один из крупнейших каталога плагинов! |
| ★★ ☆ | Затмение | Графический интерфейс / кросс-платформ | Eclipse - еще одна хорошая идея для Java. Это нормальная альтернатива Intellij Idea (немного уступая идее по сегодняшним стандартам). Иногда конкурсы предоставляют только Eclipse по какой -то причине, так что это может быть хорошим стимулом, чтобы попытаться использовать Eclipse. |
| ★★ ☆ | Клион | Графический интерфейс / кросс-платформ | Clion, созданный Jetbrains - той же той же компании, которая создала Intellij Idea, является мощной IDE для C ++. Бесплатные образовательные лицензии доступны, или вы можете попробовать их EAP (программа раннего доступа), которая по -прежнему бесплатна с апреля 2018 года. Вы можете отключить его функцию проверки кода, так как это приведет к значительному отставанию. |
| ★ ☆☆ | Другие IDE | Смешанный | Visual Studio - это IDE для использования в случае, если вы хотите кодировать в C#. ... Код как атома, так и визуальной студии построены с электроном (написано в JavaScript) и, следовательно, несколько рассмотрение ресурсов. ... Коделит - недавно растущий IDE. Остерегайтесь, что время загрузки и создания проекта может быть необычным. |
Личное использование
| ☆ | Имя | Описание |
|---|
| ★★★ | Visualgo | Веб -сайт с большой коллекцией инструментов визуализации для алгоритмов и структур данных. |
| ★★★ | Помощники общей практики: ... Chelper (Intellij Idea) (Руководство) ... Caide (Visual Studio, CodeLite, автономная командная линия) ... JHELPER (APPCODE, CLION) онлайн-суставые инструменты (он отдельный инструмент CLI, он активно поддерживается.) | Отличные инструменты, которые Parse конкурируют, встроенные коды библиотеки и предоставляют структуры тестирования. Они спасают вас от того, чтобы тратить ваше драгоценное время на переключение окон и копирование взад-вперед. |
| ★★ ☆ | CODEFORCES PARSERS: ... CODEFORCES PARSER ... GOCF ... CFPARSER (EMACS) CFPARSER (CLI) | Эти инструменты разрабатывают проблемы соревнований кода и помогают запустить образцы тестов. |
| ★★★ | Онлайн-энциклопедия целочисленных последовательностей (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 также позволяет пользователям создавать виртуальные конкурсы. |
| ★★ ☆ | Каттис | Каттис помогает в подготовке конкурса (отправьте им помощь по электронной почте). |
Сообщество
Познакомьтесь с богоподобными конкурентными программистами!
Узнайте полезные советы, учебники и идеи этих людей :)
Блоги
| Имя (ручка) | Название блога |
|---|
| Кодовые блоги |
| Петр Митричев (Петр) | Алгоритмы еженедельно |
| Makoto Soejima (rng_58) | Блог RNG_58 |
| Брюс Мерри (Bmerry) | Энтропия всегда увеличивается |
| Przemyslaw dębiak (psyho) | Блог Psyho |
| Anudeep nekkanti (anudeep2011) | Пространство имен anudeep;) |
| Вексорийский (вексорийский) | Блог Vexorian |
| Ашар Фуади (Фушар) | Блог Фушара |
| Лиджи Чен (WJMZBMR) | Wjmzbmr (китайский) |
| Huang i-wen (Dreamoon) | 小月的耍廢日誌 (китайский) |
| Шианг-Юн Ян (Morris1028) | Блог Морриса (китайский) |
| Yuhao du (Toodifficuit, Toosimple, Xudyh) | Xudyh (китайский) |
YouTube и Livestreams
| Имя (ручка) | Связь |
|---|
| Петр Митричев (Петр) | YouTube |
| Лекции Gate от Ravindrababu Ravula | YouTube |
| Мостафа Саад Ибрагим (Mashafa.saad.fci) | Соревновательное программирование YouTube (арабский речь-английский текст) |
| Тушар Рой | YouTube, со многими учебными видеороликами. |
| Гиксы | YouTube |
| Алгоритмы живут! | YouTube |
| Кодехф | YouTube |
| Хакерранк | YouTube |
| Ideserve | YouTube |
| code_report | YouTube, с обновлениями конкурса и проблемными учебниками Hackerrank, LeetCode, Topcoder и Codeforces. |
| "Sothe" Алгоритм волк | YouTube |
| Эгор Куликов (Эгор) | YouTube |
| Адам Бардашевич (подписчик) | YouTube |
| Bohdan Pryshchenko (i_love_tanya_romanova) | Твитка, YouTube |
| Владимир Смикалов (enot.1.10) | Твитка, YouTube |
| Александар Абас (Alex7) | YouTube |
| Михаил Тихомиров (эндагорион) | YouTube |
| Камил ДеБоуски (Эррихто) | YouTube |
| Дэвид Хармейер (SecondThread) | YouTube, редакционные статьи, лекции High Qualtiy (расширенные темы) |
| Mycodeschool | YouTube, высококачественные видео о базовом программировании, структурах данных и алгоритмах |
| Уильям Лин (tmwilliamlin168) | Youtube, Mostly streams, tips but inspiring and sometimes insightful |
| CodeNCode (kazama460) | Youtube, Short lectures covering various CP related topics like Graph Theory, Number theory, DP, Advanced Data structures. |
| Colin Galen (galen_colin) | Youtube, Editorials, screencasts |
| William Feset | Youtube, High quality videos covering almost all data structures, algorithms |
Quora
Visit Competitive Programming - Quora (Top 10 Most Viewed Writers).
| Important Community Figures | Описание |
|---|
| Bill Poucher | Executive Director of ACM-ICPC. CS Professor at Baylor University. |
| Michal Forišek (misof) | Organizer of IPSC and IOI. CS Teacher at Comenius University in Slovakia. Algorithm and CS Education Researcher. Former highly-rated competitive programmer. |
| Ahmed Aly (ahmed_aly) | Founder of 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 |
| Java | akullpp/awesome-java |
| Курсы | prakhar1989/awesome-courses |
| Free Programming Books | vhf/free-programming-books |
| Community-curated C++ Resources | Hackr.io |
Interview Questions
| Имя | Описание |
|---|
| 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.