멋진 경쟁 프로그래밍
멋진 Competitive Programming , Algorithm 및 Data Structure 리소스의 선별 된 목록.
사람들을 정보에 연결하기 위해 제작 된이 목록에는 11 년 동안 경쟁력있는 프로그래밍 경력을 통해 수집 한 모든 환상적인 리소스의 전체 모음이 포함되어 있습니다. 유용하다는 것을 알게되기를 바랍니다. :)
경쟁 프로그래밍이란 무엇입니까? - Quora
기여
기고를 따르십시오.
공유로 기여할 수도 있습니다!
반 친구, 친구 및 모든 사람과 목록을 공유하십시오 :)
더 많은 사람들을 정보에 연결함으로써
당신은 저를하고 있지 않지만 모두가 큰 호의입니다!
더 많은 사람들 이이 목록에서 혜택을받을 수 있기를 바랍니다. :)
목차
- 목록 목록
- 강의 계획서
- 튜토리얼 웹 사이트
- 열린 코스
- 서적
- 연습을위한 사이트
- 캠프와 훈련
- 질문을위한 사이트
- 구현
- 언어 특성
- C/C ++ | Java | 여러 가지 잡다한
- 도구
- 지역 사회
- 블로그 | YouTube 및 Livestreams | Quora
- 다른 멋진 자원
- 기사 | FAQ | 멋진 목록 | 인터뷰 질문
- 특허
목록 목록
주제로 분류 된 멋진 선별 된 목록.
| ☆ | 이름 | 설명 |
|---|
| ★★★ | 알고리즘 및 데이터 구조에 대한 우수한 블로그 게시물 리소스 - 코드 강력 | Codeforces 사용자가 작성한 환상적인 튜토리얼 블로그 게시물 모음. 흥미로운 일부에는 Palindromic Trees, 정책 기반 데이터 구조 등이 있습니다. |
| ★★★ | 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 데이터 과학 자습서 | 존경받는 TopCoder 회원이 작성한 튜토리얼 목록. 많은 최고의 프로그래머들이 여기에서 데이터 과학을 배우기 시작했습니다. |
| ★★★ | e-maxx (러시아어), (영어) | 러시아어를 사용하는 경쟁 프로그래밍 커뮤니티에서 널리 사용되고 참조 된 튜토리얼 웹 사이트. 원래 사이트의 대부분의 기사는 영어로 번역되었으며 Google 번역은 나머지 부분에 대해 잘 작동합니다. |
| ★★ ☆ | 알고리즘 - Geeksforgeeks | 다른 주제에 대한 멋지게 작성된 기사의 큰 아카이브가있는 웹 사이트. 알고리즘 과정을위한 훌륭한 무료 리소스입니다. |
| ★★ ☆ | 페그 위키 | 많은 주제에 대한 놀라운 심층적 인 Wiki와 같은 글이있는 웹 사이트. 제 생각에는 Wikipedia의 것보다 훨씬 낫습니다. |
| ★★ ☆ | 메모 - Hackerearth | 튜토리얼을위한 훌륭한 크라우드 소싱 플랫폼. 코드 스님도 방문하십시오. |
| ★★ ☆ | USA Computing Olympiad (USACO) | 웹 사이트에 여러 개의 교육 페이지가 포함되어 있으며, 이는 자신의 속도로 어렵고 다양한 알고리즘 문제에 대한 프로그래밍 솔루션 기술을 개발하도록 설계되었습니다. |
| ★★ ☆ | 베이스 | 기본 알고리즘 및 데이터 구조에 대한 심층적 인 그림 자습서가있는 블로그. |
| ★★ ☆ | 경쟁 프로그래밍 - CommonLounge | 초보자 및 중간 개념을위한 짧은 비디오 자습서. 다양한 CP 블로그에서 사용할 수있는 최고의 튜토리얼에서 선택한 고급 튜토리얼. |
| ★ ☆☆ | 정보학의 올림피아드 | 국제 저널은 재능있는 학생에게 정보학을 가르치고 학습하는 분야에서 일하는 전문가의 연구 및 실습에 중점을 두었습니다. |
| ★ ☆☆ | Algolist (러시아어) | 모든 종류의 알고리즘에 전념하는 러시아 웹 사이트. 이 웹 사이트에 나열된 일부 주제는 매우 흥미로워 보입니다. |
| ★★ ☆ | 演算法筆記 (알고리즘 노트) (중국어) | 대만 경쟁 프로그래밍 커뮤니티 중에서 가장 인기있는 튜토리얼 웹 사이트 중 하나. 이 웹 사이트의 관리자는 알고리즘 연구에 엄청난 노력을 기울입니다. |
| ★★ ☆ | 国家集训队论文 1999-2015 (중국 IOI 훈련 캠프의 논문) (중국어) | 중국 IOI 훈련 캠프의 논문. 다른 지역이 다른 것들을 강조 할 수 있다는 사실은 흥미 롭습니다. |
| ★★★ | Mostafa Saad Ibrahim 연수생에 의한 미니 편집자 | UVA/SPOJ/IOI/Olympiad 문제를 포함한 많은 문제에 대한 미니 과자가있는 솔루션 |
| ★★ ☆ | OI Wiki (경쟁 프로그래밍) (중국어) | OI Wiki는 무료 및 개방형 지속적으로 업데이트 된 프로그래밍 경쟁 (경쟁 프로그래밍) 지식 통합 사이트가되기 위해 노력하고 있습니다. 이 위키는 무언가를 배우려고하는 경쟁 프로그래머를위한 일종의 동반자 또는 가이드입니다. |
열린 코스
이 멋진 코스로 경쟁 프로그래밍 여행을 시작하십시오!
| ☆ | 이름 | 설명 |
|---|
| ★★ ☆ | Hackerearth의 Code Monk | 경쟁 프로그래밍의 필수 주제에 대한 환상적인 단계별 자습서. |
| ★★★ | Stanford CS 97SI : 경쟁 프로그래밍 콘테스트 소개 | 포괄적 인 강의 슬라이드와 짧은 운동 문제를 제공합니다. |
| ★★ ☆ | 코딩 대회에서 우승하는 방법 : 챔피언의 비밀 | ITMO University의 EDX에서 경쟁 코딩에 관한 과정. |
| ★★ ☆ | Codechef의 인도 프로그래밍 캠프 | Codechef의 Indian Programming Camp 2016의 비디오 강의. Sergey Kulik, Kevin Charles Atienza 및 Anudeep Nekkanti와 같은 최고의 경쟁 프로그래머가 제공하는 강의. 주로 이러한 개념을 실제 경쟁 경쟁 문제에 적용하여 이러한 개념을 탐색하는 데 중점을 두었습니다. |
| ★★ ☆ | Reykjavik T-414-áFLV : 경쟁 프로그래밍 과정 | Bjarki Ágúst Guðmundsson (Supdewd)이 가르치는 멋진 코스. 이 강의에는 깔끔한 슬라이드와 실습 할 문제가 있습니다. |
| ★★ ☆ | NCTU DCP4631 : 문제 해결 및 프로그래밍 기술 | 좋은 강의 슬라이드를 특징으로하는 기본 주제에 대한 과정. |
| ★ ☆☆ | 아랍어 경쟁 프로그래밍의 자료 (영어) YouTube 채널 | Mostafa Saad Ibrahim의 광범위한 알고리즘 주제를 다루는 일부 자료 (슬라이드 및 소스 코드). |
알고리즘 및 데이터 구조에 대한 개방 코스
| ☆ | 이름 | 설명 |
|---|
| ★★★ | Prakhar1989/Awesome Courses#알고리즘 | 주목할만한 기관 (MIT, Stanford, UC Berkeley ... 등)이 제공하는 환상적인 개방 코스 목록. |
| ★★★ | MIT SMA 5503 : 알고리즘 소개 | Charles Leiserson 교수 (알고리즘 소개의 공동 저자 중 한 명)와 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)에 무료입니다. 이 책은 경쟁 프로그래밍과 관련된 다양한 주제를 다룹니다. |
| ★★★ | プログラミングコンテストチャレンジブック (일본어), 秋葉拓哉, 岩田陽一, 北川宜稔 | 절대적으로 경이로운 책. 매우 일관된 방식으로 구성된 내용은 놀랍지 않습니다. ... 世界級程式設計大賽的知識、心得與解題分享 : : (중국 전통) |
| ★★ ☆ | 算法竞赛入门经典 (중국어), 刘汝佳 | 알고리즘 및 프로그래밍 콘테스트의 예술 (영어), 打下好基礎 : 程式設計與演算法競賽入門經典 (중국 전통) |
| ★★ ☆ | 算法竞赛入门经典 —— 训练指南 (중국어), 刘汝佳, 陈锋 | 提升程式設計的解題思考力 ─ ─ 國際演算法程式設計競賽訓練指南 (중국 전통) |
| ★★★ | 算法艺术与信息学竞赛 (중국어), 刘汝佳, 黄亮 | 옛날 클래식. 오래되었지만이 책의 내용은 오늘날의 표준에 따라 여전히 어려운 것으로 간주됩니다. |
알고리즘에 대한 책
| ☆ | 이름 | 설명 |
|---|
| ★★★ | 알고리즘 소개, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest 및 Clifford Stein | CLRS (이름 이니셜에서 가져온)라고도하는이 책은 종종 알고리즘 및 데이터 구조의 "성경"이라고합니다. 대학 알고리즘 과정에서 가장 인기있는 교과서 중 하나입니다. 이 책은 다양한 알고리즘과 데이터 구조를 자세히 설명했습니다. 글은 더 엄격하고 일부는 어려울 수 있습니다. |
| ★★ ☆ | Jon Kleinberg 및 Éva Tardos의 알고리즘 디자인 | 이 책은 알고리즘 설계 기술을 중심으로 진행됩니다. 그것은 잘 조직되고 명확하고 이해할 수있는 언어로 작성되었습니다. 각 장에는 실제 사례와 유용한 연습이 뒷받침됩니다. 네트워크 흐름에 대한 장은 로트에 의해 매우 칭찬받습니다. ... 교과서와 함께 제공되는 강의 슬라이드는 공식 웹 사이트에서 제공됩니다. |
| ★★ ☆ | Steven S. Skiena의 알고리즘 디자인 매뉴얼 | 이 책은 더 읽기 쉬운 텍스트로 작성되었습니다. 어떤 사람들은 다른 책보다 포괄적이라고 생각합니다. 공식 웹 사이트에서 좋은 리소스 (저자의 비디오 강의 포함)를 찾을 수도 있습니다. |
| ★★★ | Robert Sedgewick과 Kevin Wayne의 알고리즘 | 이 책은 정교한 설명과 환상적인 삽화와 함께 깔끔하게 분류됩니다. 일부 IOI 교육 캠프에서 교과서로 사용됩니다. |
| Marcello La Rocca의 고급 알고리즘 및 데이터 구조 | 이 책은 알고리즘에 대한 다른 접근 방식을 제공하고, 이론을보다 실용적인 각도로 균형을 맞추고, 매일 작업 또는 경쟁 프로그래밍에서 찾을 수있는 실제 사용 사례에 알고리즘을 적용하는 방법에 중점을 둔 챕터마다 섹션을 제공합니다. 또한 클래식, 고급 및 새로운 알고리즘의 혼합을 제시합니다. |
| ★★★ | Jeff Erickson의 알고리즘 | CC에 따라 4.0으로 라이센스가 부여 된 자체 출판 교과서의 무료 전자 버전. 이 책은 일리노이 대학교의 이론적 컴퓨터 과학 과정의 강의 노트에서 잘 쓰여진 책입니다. 역 추적, 역동적 인 프로그래밍, 욕심 많은 및 특히 깊이있는 그래프의 주요 패러다임을 다룹니다. |
| Marcello La Rocca의 Grokking 데이터 구조 | Grokking 데이터 구조는 어레이 또는 링크 된 목록과 같은 가장 기본적인 데이터 구조에서 그래프와 같은 강력한 구조로 신중하게 안내합니다. 초보자에게 적합하며 시작하기 위해 고등학교 수학 이상이 필요하지 않습니다. 만나는 각 데이터 구조에는 자체 완전한 Python 구현이 제공되므로 즉시 배운 내용을 실험 할 수 있습니다. |
수학을위한 책
| ☆ | 이름 | 설명 |
|---|
| ★★ ☆ | Kenneth H. Rosen의 개별 수학 및 응용 프로그램 | 개별 수학은 경쟁 프로그래밍과 밀접한 관련이 있습니다. 이 책은 논리 및 증명, 세트, 기능, 시퀀스, 매트릭스, 숫자 이론, 재귀, 계산, 확률, 그래프, 나무 및 부울 알레그라를 포함하여 광범위한 주제에 대한 포괄적 인 자료를 제공합니다. |
| ★★ ☆ | 콘크리트 수학 : 컴퓨터 과학의 기초, Ronald L. Graham, Donald E. Knuth, Oren Patashnik | 이 책은 숫자 관련 주제에 더 중점을 둔 개별 수학에 대한 더 깊은 통찰력을 제공합니다. |
| ★★ ☆ | David C. Lay, Steven R. Lay, Judi J. McDonald의 선형 대수 및 응용 프로그램 | 이 책은 물리적 시스템 (과학자와 엔지니어)과 추상 시스템 (수학자) 사이의 격차를 해소하는 데 훌륭한 일을합니다. |
| ★★ ☆ | Charles M. Grinstead, J. Laurie Snell의 확률 소개 | 이것은 잘 쓰여진 입문 확률 책입니다. ... 다운로드 (PDF) (GNU 무료 문서 라이센스에 따라 출시) 무료입니다. |
| ★★ ☆ | 그것을 해결하는 방법 : G. Polya의 수학적 방법의 새로운 측면 | 옛날 클래식. 이 책에서 저자는 문제를 창의적으로 해결할 수있는 체계적인 방법을 제공합니다. |
| ★★ ☆ | David Patrick의 중간 계산 및 확률 | Former By USA Mathematical Olympiad 수상자 인 David Patrick의 계산 및 확률에 대한 주제, 포용 배제, 1-1 서신, 비둘기 구멍 원칙, 건설적인 기대, 피보나키 및 카탈로니아어 수, 재귀, 조건부 확률, 기능 생성, 그래프 이론 등이 포함됩니다. |
연습을위한 사이트
좋은 온라인 판사 시스템 / 컨테스트 플랫폼을 연습 할 수 있습니다.
| ☆ | 이름 | 설명 |
|---|
| ★★★ | 코드 포스 | Codeforces는 가장 인기있는 컨테스트 플랫폼 중 하나입니다. 현재 Saratov State University에서 관리하고 있으며 정기적 인 콘테스트와 수많은 멋진 독창적 인 문제가 있습니다. 또한 모든 컨테스트는 저자 자신이 작성한 즉각적인 유용한 튜토리얼 (일반적으로)을 제공합니다. Codeforces에는 강력하고 매력적인 커뮤니티가 있습니다. 대체로, 여기서는 정말로 배우고 개선 할 것입니다. |
| ★★★ | TopCoder | Topcoder는 2001 년부터 해왔습니다. 역사가 풍부하여 기술 경쟁과 관련하여 가장 유명한 조직 중 하나로 간주됩니다. 수백 개의 SRM이 풍부한 문제를 낳았습니다. 여기서 문제는 일반적으로 다른 것보다 더 어려워 지므로 TopCoder는 많은 엘리트 프로그래머에게 호소합니다. 연례 TopCoder Open (TCO)은 널리 논의 된 이벤트입니다. |
| ★★★ | Google 코드 JAM | Google Code Jam은 확실히 가장 높은 평가를받는 프로그래밍 경쟁 중 하나입니다. 경쟁은 고유 한 시간 내에 해결 해야하는 고유 한 프로그래밍 문제로 구성됩니다. 경쟁 업체는 모든 프로그래밍 언어 및 개발 환경을 사용하여 솔루션을 얻을 수 있습니다. |
| ★★★ | Atcoder | Atcoder는 고급 일본 경쟁 프로그래머로 구성된 팀이 만든 새로운이지만 경이로운 콘테스트 플랫폼입니다. |
| ★★ ☆ | Codechef | Codechef는 Directi의 비영리 교육 이니셔티브입니다. 글로벌 경쟁 프로그래밍 플랫폼이며 학생과 전문가가 코딩 기술을 테스트하고 개선하는 데 도움이되는 대규모 프로그래머 커뮤니티를 보유하고 있습니다. 목표는 학생과 전문 소프트웨어 개발자 모두에게 실습, 경쟁 및 개선을위한 플랫폼을 제공하는 것입니다. 이 외에도, 학생들이 젊고 학생들에게 다가 가서 인도의 프로그래밍 문화를 뚫는 것을 목표로합니다. |
| ★★★ | Spoj | SPOJ 플랫폼은 온라인 판사 시스템을 중심으로합니다. 문제 세터 커뮤니티가 준비하거나 이전 프로그래밍 콘테스트에서 가져온 엄청난 양의 문제가 있으며, 그 중 일부는 실습에 큰 문제입니다 (문제 분류기 섹션 참조). SPOJ는 또한 고급 사용자가 자신의 규칙에 따라 컨테스트를 구성 할 수 있도록합니다. |
| ★★ ☆ | 티무스 | Timus Online Judge는 자동 심사 시스템과 관련된 프로그래밍 문제의 가장 큰 러시아 아카이브입니다. 문제는 대부분 Ural Federal University, Ural Championships, Ural ACM ICPC 하위 지역 콘테스트 및 Petrozavodsk Training Camp에서 개최 된 콘테스트에서 수집됩니다. |
| ★ ☆☆ | HDU | HDU는 Hangzhou Dianzi University가 관리하는 온라인 판사입니다. 중국 IOI 장면의 많은 고전적인 문제가 있습니다. |
| ★★ ☆ | Aizu 온라인 판사 | Aizu Online Judge는 University of Aizu가 주최하는 컨테스트 플랫폼 및 문제 아카이브입니다. 일본의 프로그래밍 경쟁에서 많은 문제가 있습니다. |
| ★★ ☆ | UVA | 풍부한 역사를 가진 구식 문제 아카이브 / 온라인 판사. 많은 고전적인 문제를 포함하여 수천 가지 문제가 여기에 있습니다. 그러나 "경쟁 프로그래밍 운동"섹션에 따라 Uhunt와 함께 연습하는 것이 좋습니다. |
| ★★ ☆ | 해커 랭크 | Hackerrank는 소비자와 비즈니스 모두를위한 경쟁 프로그래밍 문제에 중점을 둔 회사입니다. Hackerrank의 프로그래밍 문제는 다양한 프로그래밍 언어로 해결 될 수 있으며 여러 컴퓨터 과학 영역에 걸쳐 있습니다. |
| ★★ ☆ | poj | POJ는 Peking University가 관리하는 많은 큰 문제를 가진 온라인 판사입니다. 대부분의 중국 경쟁 프로그래머가 여기에서 여행을 시작했습니다. 플랫폼은 실제로 날짜가 지정되어 있으므로 신비한 편집 및 런타임 문제가 발생할 수 있습니다. |
| ★★ ☆ | 프로젝트 오일러 | Project Euler는 멋진 수학 문제를 보여줍니다. 또한 사람들이 토론 할 수있는 포럼도 주최합니다. |
| ★ ☆☆ | Hackerearth | Hackerearth는 인도 방갈로르에 본사를 둔 신생 기업 회사로 채용 솔루션을 제공합니다. |
| ★ ☆☆ | 카리브해 온라인 판사 | COJ는 쿠바에 위치한 University of Informatics Sciences (UCI, Spanish in Spanish)가 주최합니다. 주로 카리브해 및 라틴 아메리카 문제 세터의 ACM ICPC 및 프로그레시브 컨테스트 스타일은 문제 분류기 및 컨테스트 일정도 있습니다. |
| ★★ ☆ | CS 아카데미 | CS Academy는 경쟁 프로그래밍 장면의 새로운 결과로 2 주마다 한 번마다 경쟁을 개최하는 온라인 판사입니다. 라이브 채팅, 대화식 레슨 및 통합 온라인 편집자 (실제로 작동)를 지원합니다. |
| ★★ ☆ | 러시아 코드 컵 | Mail.ru Group으로 구동되는 프로그래밍 경쟁. 경쟁은 3 개의 자격, 1 개의 제거 및 1 개의 최종 라운드로 구성됩니다. 각 라운드 참가자마다 4-8 개의 문제가 발생하여 고정 시간 내에 해결해야합니다. |
| ★★ ☆ | 코드 파이트 | Codefights는 경쟁 프로그래밍 연습 및 인터뷰 준비를위한 웹 사이트입니다. 그것은 다양한 난이도, 문제 아카이브 및 정기적 인 (15 분마다) 미니 토너먼트의 일상적인 도전을 특징으로합니다. 초보자에게 좋습니다. |
| ★★ ☆ | 오메가 업 (스페인어) | Omegaup은 경쟁력있는 프로그래밍 교육을위한 커뮤니티 기반 웹 사이트입니다. 또한 정보학의 멕시코 올림피아드 (OMI : Olimpiada Mexicana de Informica)가 주최하는 곳이기도합니다. |
문제 분류기
프로그래밍 문제를 분류하는 사이트.
관심있는 카테고리 (예 : DP)를 선택하고 해당 주제에 대한 연습 문제.
| ☆ | 이름 | 설명 |
|---|
| ★★★ | A2 온라인 판사 | 혼합 |
| ★★★ | 문제 분류기 | Spoj |
| ★★ ☆ | UVA 온라인 판사 | CP 책 |
| ★ ☆☆ | 코드 포스 태그 | CF (DP) |
| ★★ ☆ | 해커 랭크 | 해커 랭크 |
| ★★ ☆ | Mostafa Saad Ibrahim의 주니어 훈련 시트 | ~ 800 명이 새로운 이민자가 Div2-D까지 좋을 수 있도록 주문한 문제 |
| ★★ ☆ | Lucky (UVA (ACM) 園地 (중국어) | UVA |
| ★★ ☆ | TopCoder 문제 아카이브 | 카테고리 및 복잡성 수준의 문제 목록 |
컨테스트 캘린더
임박한 프로그래밍 콘테스트를위한 캘린더.
(다른 콘테스트를 놓치지 마세요!)
| ☆ | 이름 | 설명 |
|---|
| ★★★ | 프로그래밍 컨테스트 캘린더 -HackerRank | Google 캘린더 내보내기 사용 가능 |
| ★★ ☆ | clist.by | API를 사용할 수 있습니다 |
| ★★ ☆ | 코딩 캘린더 (Android 앱) | |
| ★★ ☆ | 코더 캘린더 : Android 앱, 크롬 확장, Firefox 애드온 | |
| ★★★ | Codehorizon : iOS 앱, Android 앱 | |
| ★★★ | 경쟁 프로그래밍 컨테스트 캘린더 | Google 캘린더 내보내기 사용 가능 |
질문을위한 사이트
이들은 질문하기에 좋은 사이트입니다.
코드를 IDEONE, PASTEBIN 또는 기타 사이트에 붙여 넣어 포맷 문제를 피하십시오.
| ☆ | 이름 | 설명 |
|---|
| ★★★ | 코드 포스 | 빠른 답변을 위해 Codeforces는 경쟁 관련과 관련된 것에 대해 물어볼 곳입니다. |
| ★★★ | 경쟁 프로그래밍 - Quora | 일반적으로 Quora에 대해 더 정교한 답변을 얻을 수 있지만 질문에 대한 답변이 바로 없을 수도 있습니다. |
| ★★ ☆ | 이론적 컴퓨터 과학 스택 교환 | 이 장소는 일반적으로 학계를위한 것이므로 여기에서 컨테스트 문제에 대해 질문하지 마십시오. |
캠프와 훈련
온라인 교육 및 캠프.
| ☆ | 이름 | 설명 |
|---|
| ★★★ | Mostafa Saad Ibrahim의 온라인 무료 문제 해결 코칭 | 코칭 세부 사항과 사람들의 본질/품질에 대한 사람들의 의견을 참조하십시오. |
구현
알고리즘 및 데이터 구조 구현.
| ☆ | 이름 | 설명 |
|---|
| ★★★ | Andrey Naumenko의 Codelibrary (Indy256) | Codelibrary에는 Java 및 C ++의 알고리즘 및 데이터 구조에 대한 대규모 구현이 포함되어 있습니다. 그의 Github 저장소를 방문 할 수도 있습니다. |
| ★★★ | Spaghetti-Source/알고리즘, Takanori Maehara (@tmaehara) | 많은 하드 알고리즘 및 데이터 구조의 고품질 구현. |
| ★★★ | Simon Lindholm (Simonlindholm) et al. | Kth Royal Institute of Technology의 경이로운 조직, 문서화 및 테스트 팀 노트. 내가 본 것 중 가장 잘 만들어진 팀 노트북 중 하나입니다. |
| ★★ ☆ | Jaehyunp/Stanfordacm | Stanford의 팀 노트북은 잘 관리되어 있으며 내부의 코드는 고품질입니다. |
| ★★ ☆ | NGTHANHTRUNG23/ACM_NOTEBOOK_NEW, 싱가포르 국립 대학교에서 팀 RR WATAMEDA (I_LOVE_HOANG_YEN, FLASHMT, NGUYENHUNGTAM) | RR Watameda는 2016 ACM-ICPC 세계 결승전으로 싱가포르 국립 대학교를 대표했습니다. 이 노트북의 항목은 매우 표준이며 잘 조직되어 있습니다. |
| ★★ ☆ | Bobogei81123/BCW_Codebook, Team BCW0X1BD2 (DarkHH, Bobogei81123, Step5)의 National Taiwan University | BCW0X1BD2는 2016 ACM-ICPC World Finals의 National Taiwan University를 대표했습니다. 이 노트에는 고급 데이터 구조 및 알고리즘에 대한 강력한 구현이 포함되어 있습니다. |
| ★ ☆☆ | foreverbell/acm-icpc-cheat-sheet, by foreverbell (foreverbell) | 중국 정보학 장면의 일부 고급 데이터 구조 및 알고리즘이있는 노트북. |
| ★ ☆☆ | Igor의 코드 아카이브, Igor Naverniouk (Abednego) | 현재 Google의 소프트웨어 엔지니어이자 Google Code Jam 팀의 일부인 Igor Naverniouk의 훌륭한 노트북. |
언어 특성
언어 및 기타 기타 지식.
C/C ++
| ☆ | 이름 | 설명 |
|---|
| ★★ ☆ | 표준 템플릿 라이브러리와 함께 C ++ 전원 -popcoder : Part 1, Part 2 | 기본 C ++ STL에 대한 소개 자습서. |
| ★★ ☆ | 다시 C ++ 입력/출력 - 코드 포스에서 | C ++ I/O 최적화에 대해 자세히 알아보십시오. |
| ★★ ☆ | C ++ Tricks- 코드 포스 ... 프로그래밍 콘테스트에서 사용할 멋진 C ++ 트릭은 무엇입니까? - Quora | 경쟁 프로그래밍을위한 풍부한 C ++ 트릭. 일부는 조심스럽게 사용해야합니다. |
| ★★★ | C ++ STL : 정책 기반 데이터 구조 - 코드 포스 : 1 부, 2 부 | GNU C ++에서 구현 된 추가 데이터 구조에 대한 자세한 소개. 공식 문서는 여기에서 찾을 수 있습니다. |
| ★ ☆☆ | C ++ 11 FAQ (영어, 중국어, 러시아어, 일본어, 한국어) | C ++의 제작자 인 Bjarne Stroustrup이 수집하고 작성한 C ++ 11에 관한 FAQ 목록. |
자바
| ☆ | 이름 | 설명 |
|---|
| ★★ ☆ | Java에서 입력을 읽는 방법 - 튜토리얼 - 코드 강력 | 입력을 더 빨리 읽는 방법을 배우십시오. 경쟁 프로그래밍에 Java를 사용하려는 사람들에게는 반드시 읽어야합니다. |
| ★★ ☆ | 자바로 배열을 정렬하고 TLE를 피하는 방법 - 코드 포스 | 최악의 빠른 종류의 Quick Sort를 피하는 방법에 대한 몇 가지 팁 |
| ★★ ☆ | Java의 Bignum 산술 - Biginteger보다 성능이 뛰어납니다! - 코드 포스 | 기본이지만 더 빠른 커스텀 BigInteger 클래스 |
| ★★ ☆ | EZ Collections, EZ Life (컨테스트를위한 New Java Library) - Codeforces | Alexey Dergunov (Dalex)가 작성한 콘테스트를위한 Java 도서관. Arraylist, Arraydeque, Heap, Sort, Hashset, Hashmap, Treeset, Treemap, Treelist 및 Pair 클래스가 구현됩니다. |
여러 가지 잡다한
| ☆ | 이름 | 설명 |
|---|
| ★★★ | 비트 twiddling 핵 | 비트 조작 트릭의 거대한 컴파일 목록. |
| ★★★ | 부동 소수점 번호 비교, 2012 판 - 랜덤 ASCII | 부동 소수점 번호에 대해 알아야 할 모든 것. 특히 지오메트리 주제에 대해 특히 읽어야합니다. |
| ★★ ☆ | 객체 지향 C 스타일 언어 : C ++, Objective-C, Java, C #- 나란히 참조 시트 | 일반적인 구문을위한 상세한 참조 시트. |
도구
인생을 편하게 만들 수있는 멋진 도구.
십오 일
| ☆ | 이름 | 플랫폼 | 설명 |
|---|
| ★★★ | 정력 | CLI / 크로스 플랫폼 | VIM은 고급 프로그래머 중에서 가장 인기있는 텍스트 편집자 중 하나입니다. 이를 통해 텍스트 편집은 전적으로 키 스트로크로 매우 효율적으로 수행 할 수 있습니다. VIM은 또한 구성 가능하고 확장 가능하며 쉘 (명령 라인)과 실제로 통합됩니다. VIM에 대한 유일한 좌절은 초보자에게 높은 학습 곡선이 있다는 것입니다. |
| ★★★ | EMACS | CLI / 크로스 플랫폼 | EMACS는 또 다른 인기있는 텍스트 편집기 (또는보다 정확한 개발 환경)입니다. "Vim vs. Emacs"에 대한 논쟁은 인기로 인해 끊임없이 제기됩니다. 기본적으로 EMAC는 단순한 텍스트 편집기가 아닙니다. 파일 관리자, 웹 브라우저, 메일 클라이언트 및 뉴스 클라이언트와 같은 플러그인이있어 사용자가 EMAC 내부에서 직접 이러한 작업을 수행 할 수 있습니다. EMACS는 이로 인해 "무겁다"고하지만 초보자에게는 학습 곡선이 비교적 쉽습니다. |
| ★★★ | 먼 관리자 | 하이브리드 / 창 | Far Manager는 RU/CIS 경쟁 프로그래밍 커뮤니티에서 가장 널리 사용되는 편집자입니다. 실제로는 뼈의 파일 관리자이지만 구문 형광펜 플러그인 인 Farcolorer를 설치할 수 있습니다. 적절하게 구성된 Far Manager를 사용하면 코드를 작성하는 동안 파일간에 매우 효율적으로 탐색 할 수 있습니다. |
| ★★★ | 코드 :: 블록 | GUI / Cross-Platform | Code :: 블록은 C/C ++의 IDE입니다. 수많은 훌륭한 기능을 갖춘 본격적인 다재다능한 IDE입니다. 코드 :: 블록은 일반적으로 프로그래밍 콘테스트에서 VIM과 함께 제공됩니다. |
| ★★★ | Intellij 아이디어 | GUI / Cross-Platform | Intellij Idea는 확실히 Java에게 가장 좋은 IDE 중 하나입니다. Java를 주요 언어로 사용하는 대부분의 경쟁 프로그래머가 사용합니다. 프로그래밍 콘테스트를 위해 작성된 매우 편리한 플러그인 인 Chelper를 확인하십시오. |
| ★★ ☆ | 숭고한 텍스트 | GUI / Cross-Platform | 숭고한 텍스트는 특별한 텍스트 편집기입니다. 다중 관리, 미니 맵 및 명령 팔레트와 같은 강력하고 혁신적인 기능으로 가득한이 커뮤니티를 유치합니다. 숭고한 텍스트는 매우 확장 가능하므로 패키지 제어를 설치하고 아마도 가장 큰 플러그인 카탈로그 중 하나를 탐색하십시오! |
| ★★ ☆ | 식 | GUI / Cross-Platform | Eclipse는 Java에게 또 다른 좋은 IDE입니다. Intellij 아이디어 (오늘날의 표준에 의한 아이디어보다 열등한)에 대한 괜찮은 대안입니다. 때때로 경연 대회는 어떤 이유로 든 일식을 제공하므로 이클립스를 사용하려는 좋은 인센티브 일 수 있습니다. |
| ★★ ☆ | 클리온 | GUI / Cross-Platform | jetbrains가 제작 한 Clion- Intellij 아이디어를 만든 같은 회사는 C ++의 강력한 IDE입니다. 무료 교육 라이센스를 이용할 수 있거나 2018 년 4 월에 여전히 무료 인 EAP (Early Access Program)를 시험해 볼 수 있습니다. 코드 검사 기능을 끄기를 원할 수도 있습니다. |
| ★ ☆☆ | 다른 ides | 혼합 | Visual Studio는 C#에서 코딩하려는 경우 사용하기위한 IDE입니다. ... Atom 및 Visual Studio Code는 모두 전자 (JavaScript로 작성)로 구축되어 다소 리소스 호깅입니다. ... Codelite는 새롭게 떠오르는 IDE입니다. 로드 업 및 프로젝트 생성 시간은 특별 할 수 있습니다. |
개인적 사용
| ☆ | 이름 | 설명 |
|---|
| ★★★ | 시각적 | 알고리즘 및 데이터 구조를위한 대규모 시각화 도구 모음을 갖춘 웹 사이트. |
| ★★★ | 일반 연습 도우미 : ... Chelper (Intellij Idea) (Manual) ... Caide (Visual Studio, Codelite, 독립형 명령 줄 앱) ... Jhelper (AppCode, Clion) 온라인 심사 위원 (독립형 CLI 도구, 활성로 유지됩니다). | 콘테스트, 인라인 라이브러리 코드를 구문 분석하고 테스트 프레임 워크를 제공하는 훌륭한 도구. 그들은 창문을 바꾸고 사본을 팔로우하는 데 귀중한 시간을 보내지 않아도됩니다. |
| ★★ ☆ | Codeforces Parsers : ... Codeforces Parser ... GOCF ... CFPARSER (EMACS) CFPARSER (CLI) | 이 도구는 코드 포스를 구문 분석하고 샘플 테스트를 실행하는 데 도움이됩니다. |
| ★★★ | 정수 시퀀스의 온라인 백과 사전 (OEIS) | 수많은 정수 시퀀스 데이터베이스가있는 멋진 백과 사전. 또한 강력한 검색 엔진이 있습니다. 때로는 겉보기 어려운 조합 문제가 단순하거나 연구 된 정수 시퀀스와 동일 할 수 있습니다. |
| ★★ ☆ | 구문 하이 라이트 : ... Tohtml.com ... Markup.su ... Hilite.me | 예쁜 포맷 된 코드 스 니펫으로 슬라이드 또는 팀 노트북을 만드는 데 매우 편리합니다. 강조 표시된 코드 스 니펫을 복사하여 좋아하는 wysiwyg (What-you-see-is-what-you-you-get)에 붙여 넣으십시오! |
| ★★ ☆ | 코드 공유 : ... ideone.com ... pastebin.com ... Ubuntu Pastebin | 이 도구는 코드 공유를위한 반영구 페이지를 생성합니다. 특히 다른 사람이 코드를 살펴 보도록 할 때 특히 유용합니다. |
| ★★ ☆ | 말로 표현할 수 없는 | 지역 채점을위한 간단한 지휘관 그레이더. |
| ★★ ☆ | Udebug | UVA 온라인 판사의 문제에 대한 사용자 지정 입력에 대한 예상 출력을 제공하는 플랫폼. 일부 문제는 또한 디버깅을위한 추가 테스트 사례를 제공합니다. |
컨테스트 준비
| ☆ | 이름 | 설명 |
|---|
| ★★★ | 다각형 | 다각형은 전문 경연 대회 준비를위한 플랫폼과 풍부한 도구 세트를 제공합니다. ... 예 : testLib.h- 코드 포스를 가진 유효성 검사기 |
| ★★ ☆ | 그래프 편집기 | 그래프를 만들고 시각화하는 환상적인 도구. |
| ★★ ☆ | tcframe | 경쟁 프로그래밍 문제의 테스트 사례를 생성하기위한 C ++ 프레임 워크. |
| ★★★ | 가상 판사 (vjudge) | Virtual Judge (Vjudge)를 통해 사용자는 주목할만한 문제 아카이브의 문제로 가상 컨테스트를 만들 수 있습니다. |
| ★★ ☆ | BNU 온라인 판사 | BNU 온라인 판사는 또한 사용자가 가상 콘테스트를 만들 수 있습니다. |
| ★★ ☆ | 카티스 | Kattis는 컨테스트 준비를 지원합니다 (지원을 위해 이메일). |
지역 사회
신과 같은 경쟁 프로그래머를 만나십시오!
이 사람들로부터 유용한 팁, 튜토리얼 및 통찰력을 배우십시오 :)
블로그
| 이름 (핸들) | 블로그 이름 |
|---|
| Codeforces 블로그 |
| PETR MITRICHEV (PETR) | 매주 알고리즘 |
| Makoto Soejima (RNG_58) | RNG_58의 블로그 |
| 브루스 메리 (Bmerry) | 엔트로피는 항상 증가합니다 |
| przemysław dysbiak (psyho) | Psyho의 블로그 |
| Anudeep Nekkanti (Anudeep2011) | 네임 스페이스 anudeep;) |
| vexorian (vexorian) | Vexorian의 블로그 |
| Ashar Fuadi (Fushar) | Fushar의 블로그 |
| Lijie Chen (WJMZBMR) | wjmzbmr (중국어) |
| Huang I-Wen (Dreamoon) | 小月的耍廢日誌 (중국어) |
| Shiang-Yun Yang (Morris1028) | 모리스의 블로그 (중국어) |
| Yuhao du (Toodifficuit, Toosimple, Xudyh) | xudyh (중국어) |
YouTube 및 Livestreams
| 이름 (핸들) | 링크 |
|---|
| PETR MITRICHEV (PETR) | YouTube |
| Ravindrababu Ravula의 게이트 강의 | YouTube |
| Mostafa Saad Ibrahim (mostafa.saad.fci) | 경쟁 프로그래밍 YouTube (아랍어 연설-영어 텍스트) |
| Tushar Roy | 많은 튜토리얼 비디오와 함께 YouTube. |
| Geeksforgeeks | YouTube |
| 알고리즘이 라이브! | YouTube |
| Codechef | YouTube |
| 해커 랭크 | YouTube |
| Ideserve | YouTube |
| code_report | Hackerrank, Leetcode, TopCoder 및 Codeforces의 컨테스트 업데이트 및 문제 자습서가 포함 된 YouTube. |
| "Sothe"알고리즘 늑대 | YouTube |
| Egor Kulikov (Egor) | YouTube |
| Adam Bardashevich (가입자) | YouTube |
| Bohdan Pryshchenko (i_love_tanya_romanova) | Twitch, YouTube |
| 블라디미르 스미 칼로프 (Enot.1.10) | Twitch, YouTube |
| Aleksandar Abas (Alex7) | YouTube |
| 미하일 티코 미로 (Mikhail Tikhomirov) (endagorion) | YouTube |
| 카밀 데프 스키 (errichto) | YouTube |
| David Harmeyer (두 번째 스레드) | YouTube, 사설, 고등학교 강의 (고급 주제) |
| 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 |
FAQ
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 |
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.