Pemrograman kompetitif yang luar biasa
Daftar Competitive Programming yang luar biasa, Algorithm , dan sumber daya Data Structure .
Dibuat dengan maksud untuk menghubungkan orang ke informasi, daftar di bawah ini berisi koleksi lengkap semua sumber daya fantastis yang telah saya kumpulkan selama 11 tahun karir pemrograman kompetitif saya. Saya harap Anda akan berguna :)
Apa itu pemrograman kompetitif? - Quora
Berkontribusi
Harap ikuti berkontribusi.md untuk memulai.
Anda juga dapat berkontribusi dengan berbagi!
Bagikan daftar dengan teman sekelas Anda, teman Anda dan semuanya :)
Dengan menghubungkan lebih banyak orang ke informasi,
Anda, tidak melakukan saya, tetapi semua orang sangat menguntungkan!
Saya sangat berharap lebih banyak orang dapat memperoleh manfaat dari daftar ini :)
Daftar isi
- Daftar daftar
- Silabus
- Situs web tutorial
- Kursus terbuka
- Kursus terbuka untuk algoritma dan struktur data
- Buku
- Buku untuk Algoritma | Buku untuk matematika
- Situs untuk latihan
- Pengklasifikasi Masalah | Kalender Kontes
- Kamp dan pelatihan
- Situs untuk pertanyaan
- Implementasi
- Spesifik bahasa
- C/C ++ | Java | Aneka ragam
- Peralatan
- IDES | Penggunaan Pribadi | Persiapan Kontes
- Masyarakat
- Blog | YouTube dan LiveStreams | Quora
- Sumber daya luar biasa lainnya
- Artikel | FAQ | Daftar Luar Biasa | Pertanyaan wawancara
- Lisensi
Daftar daftar
Daftar kurasi yang luar biasa diklasifikasikan berdasarkan topik.
| ☆ | Nama | Keterangan |
|---|
| ★★★ | Sumber daya posting blog yang bagus tentang algoritma dan struktur data - Codeforces | Kumpulan posting blog tutorial fantastis yang ditulis oleh pengguna Codeforces. Beberapa yang menarik termasuk pohon palindromik, struktur data berbasis kebijakan, dan banyak lagi. |
| ★★★ | Semua tutorial bagus yang ditemukan di Codeforces - Codeforces | Koleksi lain yang bagus dari posting blog tutorial yang ditulis oleh pengguna Codeforces. |
| ★★★ | Struktur dan Algoritma Data - Diskusi Codechef | Daftar sumber daya pemrograman kompetitif yang sangat lengkap. Must-have di bookmark browser Anda. |
| ★★★ | Bagaimana cara mempersiapkan ACM - ICPC? - GeeksForgeeks | Walk-through terperinci dari persiapan untuk ACM-ICPC. |
Silabus
Cari tahu topik apa yang perlu Anda pelajari.
| ☆ | Nama | Keterangan |
|---|
| ★★★ | IOI Silabus | Silabus terperinci di mana kontestan IOI akan diuji. Ini masih agak relevan dengan ACM-ICPC. |
| ★★★ | Bagaimana cara mempersiapkan ACM - ICPC? - GeeksForgeeks | Walk-through terperinci dari persiapan untuk ACM-ICPC. |
| ★★ ☆ | Silabus Pemrograman Kamp | Daftar topik penting dalam pemrograman kompetitif dengan masalah olahraga. |
| ★★ ☆ | Lembar Pelatihan Juniors, oleh Mostafa Saad Ibrahim | ~ 800 masalah yang diperintahkan untuk pendatang baru menjadi baik hingga div2-d |
Situs web tutorial
Situs web yang luar biasa dengan tutorial yang bagus.
| ☆ | Nama | Keterangan |
|---|
| ★★★ | Tutorial Ilmu Data Topcoder | Daftar tutorial yang ditulis oleh anggota TopCoder yang disegani. Banyak programmer top mulai mempelajari ilmu data dari sini. |
| ★★★ | E-Maxx (Rusia), (Bahasa Inggris) | Situs web tutorial yang banyak digunakan dan dirujuk dalam komunitas pemrograman kompetitif berbahasa Rusia. Sebagian besar artikel dari situs asli telah diterjemahkan ke dalam bahasa Inggris, Google Translate berfungsi dengan baik untuk yang tersisa. |
| ★★ ☆ | Algoritma - GEEKSFORGEEKS | Situs web dengan arsip besar artikel yang ditulis dengan baik tentang berbagai topik. Ini adalah sumber daya gratis yang bagus untuk kursus algoritma. |
| ★★ ☆ | Pegwiki | Sebuah situs web dengan tulisan wiki mendalam yang luar biasa pada banyak topik. Ini jauh lebih baik daripada yang ada di Wikipedia menurut saya. |
| ★★ ☆ | Catatan - Hackerearth | Platform crowdsourcing yang hebat untuk tutorial. Kunjungi Code Monk. |
| ★★ ☆ | USA Computing Olympiad (USACO) | Berisi beberapa halaman pelatihan di situs webnya yang dirancang untuk mengembangkan keterampilan seseorang dalam solusi pemrograman untuk masalah algoritmik yang sulit dan beragam dengan kecepatan sendiri. |
| ★★ ☆ | Basecs | Sebuah blog dengan tutorial yang mendalam dan bergambar tentang algoritma dasar dan struktur data. |
| ★★ ☆ | Pemrograman Kompetitif - CommonLounge | Tutorial video pendek untuk konsep pemula dan menengah. Tutorial lanjutan yang dipilih dari yang terbaik yang tersedia di berbagai blog CP. |
| ★ ☆☆ | Olympiads in Informatics | Jurnal internasional yang berfokus pada penelitian dan praktik para profesional yang bekerja di bidang pengajaran dan pembelajaran informatika kepada siswa yang berbakat. |
| ★ ☆☆ | Algolist (Rusia) | Situs web Rusia yang ditujukan untuk semua jenis algoritma. Beberapa topik yang terdaftar di situs web ini tampaknya cukup menarik. |
| ★★ ☆ | 演算法筆記 (Catatan Algoritma) (Cina) | Salah satu situs web tutorial paling populer di antara komunitas pemrograman kompetitif Taiwan. Pemelihara untuk situs web ini menghabiskan upaya luar biasa untuk meneliti algoritma. |
| ★★ ☆ | 国家集训队论文 1999-2015 (Makalah dari Kamp Pelatihan IOI Cina) (Cina) | Makalah dari kamp pelatihan IOI Cina. Sangat menarik untuk fakta bahwa orang dapat memberi tahu daerah yang berbeda menekankan hal -hal yang berbeda. |
| ★★★ | Mini-Editorials, oleh Mostafa Saad Ibrahim Trainee | Solusi dengan mini-editorial untuk banyak masalah, termasuk masalah UVA/SPOJ/IOI/Olympiad |
| ★★ ☆ | Oi Wiki (pemrograman kompetitif) (Cina) | OI Wiki berkomitmen untuk menjadi situs integrasi pengetahuan (pemrograman kompetitif) yang gratis dan terbuka. Wiki ini adalah semacam pendamping atau panduan untuk programmer kompetitif yang mencoba mempelajari sesuatu |
Kursus terbuka
Pertimbangkan memulai perjalanan pemrograman kompetitif Anda dengan kursus -kursus yang luar biasa ini!
| ☆ | Nama | Keterangan |
|---|
| ★★ ☆ | Kode Biksu, oleh Hackerearth | Tutorial langkah demi langkah yang fantastis tentang topik-topik penting dalam pemrograman kompetitif. |
| ★★★ | Stanford CS 97SI: Pengantar Kontes Pemrograman Kompetitif | Menawarkan slide kuliah yang komprehensif dan daftar pendek masalah olahraga. |
| ★★ ☆ | Cara memenangkan kompetisi pengkodean: Rahasia Champions | Kursus oleh ITMO University tentang pengkodean kompetitif di EDX. |
| ★★ ☆ | Kamp Pemrograman India Codechef | Ceramah video dari Codechef's Indian Programming Camp 2016. Ceramah yang diberikan oleh programmer kompetitif top seperti Sergey Kulik, Kevin Charles Atienza dan Anudeep Nekkanti. Terutama berfokus pada mengeksplorasi konsep -konsep ini dengan menerapkannya pada masalah kontes kompetitif yang sebenarnya. |
| ★★ ☆ | Reykjavik T-414-áflv: Kursus Pemrograman Kompetitif | Kursus luar biasa yang diajarkan oleh Bjarki ágúst Guðmundsson (suprdewd). Ceramah -ceramah ini memiliki slide yang rapi dan daftar masalah yang bagus untuk berlatih. |
| ★★ ☆ | NCTU DCP4631: Teknik pemecahan dan pemrograman masalah | Kursus tentang topik dasar yang menampilkan slide kuliah yang bagus. |
| ★ ☆☆ | Bahan (Bahasa Inggris) Dari Saluran YouTube Pemrograman Kompetitif Arab | Beberapa bahan (slide & kode sumber) yang mencakup berbagai topik algoritmik oleh Mostafa Saad Ibrahim. |
Kursus terbuka untuk algoritma dan struktur data
| ☆ | Nama | Keterangan |
|---|
| ★★★ | Prakhar1989/Algoritma Awesome-Courses# | Daftar kursus terbuka yang fantastis yang ditawarkan oleh lembaga terkenal (MIT, Stanford, UC Berkeley ... dll.). |
| ★★★ | MIT SMA 5503: Pengantar Algoritma | Direktur oleh Prof. Charles Leiserson (salah satu rekan penulis pengantar algoritma) dan Prof. Erik Demaine (seorang profesor brilian yang telah membuat terobosan luar biasa dalam ilmu data), kursus ini menawarkan bahan -bahan hebat, disertai dengan analisis intuitif dan komprehensif. |
| ★★ ☆ | Kursus Algoritma UIUC | Catatan Kuliah, Homeworks, Ujian, dan Masalah Diskusi yang mencakup berbagai topik algoritmik |
Buku
Daftar buku yang direkomendasikan untuk pemrograman kompetitif.
| ☆ | Nama | Keterangan |
|---|
| ★★ ☆ | Pemrograman kompetitif, oleh Steven dan Felix Halim | Buku ini berisi kumpulan struktur data yang relevan, algoritma, dan tip pemrograman. Ini adalah buku yang diterima dengan baik. ... Edisi pertama gratis untuk diunduh (PDF). |
| ★★ ☆ | Tantangan Pemrograman: Manual Pelatihan Kontes Pemrograman, oleh Steven Skiena dan Miguel Revilla | Buku ini mencakup lebih dari 100 tantangan pemrograman, serta teori dan konsep -konsep kunci yang diperlukan untuk mendekati mereka. Masalah disusun berdasarkan topik, dan ditambah dengan materi tutorial lengkap. |
| ★★ ☆ | Buku Pegangan Programmer Kompetitif, oleh Antti Laaksonen | Pengantar pemrograman kompetitif untuk calon kontestan IOI dan ICPC. Gratis untuk diunduh (pdf). |
| ★★ ☆ | Pemikiran Algoritmik: Pendahuluan Berbasis Masalah, oleh Daniel Zingaro | Sebuah buku yang mengajarkan struktur data dan algoritma menggunakan masalah pemrograman kompetitif (IOI, USACO, CCC/CCO, dll.). |
| ★★ ☆ | Geometri Komputasi: Algoritma dan Aplikasi, oleh Mark de Berg, Otfried Cheong, Marc Van Kreveld, Mark Overmars | Ini adalah buku yang ditulis dengan baik yang mencakup berbagai masalah geometri komputasi. |
| ★ ☆☆ | Panduan Hitchhiker untuk Kontes Pemrograman, oleh Nite Nimajneb | Buku ini gratis untuk diunduh (PDF). Buku ini mencakup berbagai topik yang relevan dengan pemrograman kompetitif. |
| ★★★ | プログラミングコンテストチャレンジブック (Jepang), oleh 秋葉拓哉, 岩田陽一, 北川宜稔 | Buku yang benar -benar fenomenal. Isi, yang diatur dengan cara yang sangat koheren, tidak kalah menakjubkan. ... 培養與鍛鍊程式設計的邏輯腦 : 世界級程式設計大賽的知識、心得與解題分享 (Tradisional Cina) |
| ★★ ☆ | 算法竞赛入门经典 (Cina), oleh 刘汝佳 | Seni Algoritma dan Kontes Pemrograman (Bahasa Inggris), 打下好基礎 : 程式設計與演算法競賽入門經典 (Tradisional Cina) |
| ★★ ☆ | 算法竞赛入门经典 —— 训练指南 (Cina), oleh 刘汝佳, 陈锋 | 提升程式設計的解題思考力 ─ 國際演算法程式設計競賽訓練指南 (Tradisional Cina) |
| ★★★ | 算法艺术与信息学竞赛 (Cina), oleh 刘汝佳, 黄亮 | Klasik lama. Sudah tua tetapi isinya dalam buku ini masih dianggap sangat sulit menurut standar saat ini. |
Buku untuk algoritma
| ☆ | Nama | Keterangan |
|---|
| ★★★ | Pengantar Algoritma, oleh Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest dan Clifford Stein | Juga dikenal sebagai CLR (diambil dari inisial nama), buku ini sering disebut sebagai "Alkitab" untuk algoritma dan struktur data. Ini adalah salah satu buku teks paling populer untuk kursus algoritma universitas. Buku ini mencakup berbagai algoritma dan struktur data dengan sangat rinci. Tulisannya lebih ketat dan bisa sulit bagi sebagian orang. |
| ★★ ☆ | Desain Algoritma, oleh Jon Kleinberg dan éva Tardos | Buku ini berkisar pada teknik untuk merancang algoritma. Ini terorganisir dengan baik dan ditulis dalam bahasa yang jelas dan dapat dimengerti. Setiap bab didukung dengan contoh -contoh praktis dan latihan yang bermanfaat. Bab tentang aliran jaringan sangat dipuji oleh banyak. ... Slide kuliah yang menyertai buku teks tersedia di situs web resminya. |
| ★★ ☆ | Manual Desain Algoritma, oleh Steven S. Skiena | Buku ini ditulis dalam teks yang lebih mudah dibaca. Beberapa merasa komprehensif dari buku -buku lain. Anda juga dapat menemukan beberapa sumber daya yang baik (termasuk kuliah video penulis sendiri) di situs web resminya. |
| ★★★ | Algoritma, oleh Robert Sedgewick dan Kevin Wayne | Buku ini dikategorikan dengan rapi, ditambah dengan penjelasan yang rumit dan ilustrasi yang fantastis. Ini digunakan di beberapa kamp pelatihan IOI sebagai buku teks. |
| Algoritma dan Struktur Data Lanjutan, oleh Marcello La Rocca | Buku ini memberikan pendekatan yang berbeda untuk algoritma, menyeimbangkan teori dengan sudut yang lebih praktis, dengan bagian per-bab yang berfokus pada bagaimana menerapkan algoritma untuk kasus penggunaan dunia nyata yang dapat ditemukan dalam pekerjaan sehari-hari Anda, atau dalam pemrograman kompetitif; Ini juga menyajikan perpaduan algoritma klasik, canggih, dan baru. |
| ★★★ | Algoritma, oleh Jeff Erickson | Versi elektronik gratis dari buku teks yang diterbitkan sendiri dilisensikan di bawah CC sebesar 4.0. Ini adalah buku yang ditulis dengan baik dari catatan kuliah kursus ilmu komputer teoritis di University of Illinois. Meliputi paradigma utama dari backtracking, pemrograman dinamis, serakah, dan khususnya grafik secara mendalam. |
| Struktur Data Grokking, oleh Marcello La Rocca | Struktur data Grokking dengan hati -hati memandu Anda dari struktur data paling dasar seperti array atau daftar tertaut sampai ke struktur yang kuat seperti grafik. Ini sempurna untuk pemula, dan Anda tidak perlu lebih dari matematika sekolah menengah untuk memulai. Setiap struktur data yang Anda temui hadir dengan implementasi Python lengkapnya sehingga Anda dapat mulai bereksperimen dengan apa yang Anda pelajari segera. |
Buku untuk matematika
| ☆ | Nama | Keterangan |
|---|
| ★★ ☆ | Matematika diskrit dan aplikasinya, oleh Kenneth H. Rosen | Matematika diskrit sangat relevan dengan pemrograman kompetitif. Buku ini menyediakan bahan -bahan komprehensif tentang berbagai topik termasuk: logika dan bukti, set, fungsi, urutan, matriks, teori angka, rekursi, penghitungan, probabilitas, grafik, pohon dan boolean alegra untuk menyebutkan beberapa. |
| ★★ ☆ | Matematika Beton: Landasan Ilmu Komputer, oleh Ronald L. Graham, Donald E. Knuth, Oren Patashnik | Buku ini menawarkan wawasan yang lebih dalam tentang matematika diskrit dengan lebih banyak penekanan pada topik terkait angka. |
| ★★ ☆ | Aljabar linier dan aplikasinya, oleh David C. Lay, Steven R. Lay, Judi J. McDonald | Buku ini melakukan pekerjaan yang brilian dalam menjembatani kesenjangan antara sistem fisik (untuk ilmuwan dan insinyur) dan sistem abstrak (untuk ahli matematika). |
| ★★ ☆ | Pengantar Probabilitas, oleh Charles M. Grinstead, J. Laurie Snell | Ini adalah buku probabilitas pengantar yang ditulis dengan baik. ... gratis untuk diunduh (pdf) (dirilis di bawah lisensi dokumentasi GNU). |
| ★★ ☆ | Cara menyelesaikannya: Aspek baru dari metode matematika, oleh G. Polya | Klasik lama. Dalam buku ini, penulis menyediakan cara sistematis untuk memecahkan masalah secara kreatif. |
| ★★ ☆ | Penghitungan & Probabilitas Menengah, oleh David Patrick | Topik dalam penghitungan dan probabilitas Byformer USA pemenang Olympiad Mathematical David Patrick, Topik meliputi inklusi-eksklusi, 1-1 korespondensi, prinsip pigeonhole, ekspektasi konstruktif, fibonacci dan angka Catalan, rekursi, probabilitas bersyarat, fungsi menghasilkan, teori grafik, dan banyak lagi .. |
Situs untuk latihan
Sistem Hakim Online / Platform Kontes yang Baik Untuk Berlatih.
| ☆ | Nama | Keterangan |
|---|
| ★★★ | Codeforces | Codeforces adalah salah satu, jika tidak, platform kontes paling populer di luar sana. Saat ini dikelola oleh Saratov State University, ia menampilkan kontes reguler dan banyak masalah asli yang luar biasa. Selain itu, setiap kontes memberikan tutorial langsung (biasanya) yang ditulis oleh penulis sendiri. Codeforces juga menampung komunitas yang kuat dan menarik. Secara keseluruhan, orang memang akan belajar dan meningkat pesat di sini. |
| ★★★ | Topcoder | Topcoder telah ada sejak tahun 2001. Rich dalam sejarah, itu dianggap sebagai salah satu organisasi paling bergengsi dalam hal kompetisi teknologi. Ratusan SRM melahirkan masalah yang berlimpah. Masalah di sini biasanya lebih menantang daripada yang lain dan TopCoder karena itu menarik banyak programmer elit. Topcoder Open (TCO) tahunan juga merupakan acara yang dibahas secara luas. |
| ★★★ | Google Code Jam | Google Code Jam tentu saja merupakan salah satu kompetisi pemrograman yang paling tinggi. Kompetisi ini terdiri dari tantangan pemrograman unik yang harus diselesaikan dalam waktu yang tetap. Pesaing dapat menggunakan bahasa pemrograman dan lingkungan pengembangan apa pun untuk mendapatkan solusi mereka. |
| ★★★ | Atcoder | Atcoder adalah platform kontes baru namun fenomenal yang dibuat oleh tim pemrogram kompetitif Jepang yang berperingkat tinggi. |
| ★★ ☆ | Codechef | Codechef adalah inisiatif pendidikan nirlaba Directi. Ini adalah platform pemrograman kompetitif global dan memiliki komunitas besar pemrogram yang membantu siswa dan profesional menguji dan meningkatkan keterampilan pengkodean mereka. Tujuannya adalah untuk menyediakan platform untuk latihan, kompetisi, dan peningkatan bagi siswa dan pengembang perangkat lunak profesional. Terlepas dari ini, ini bertujuan untuk menjangkau siswa saat mereka masih muda dan menanamkan budaya pemrograman di India. |
| ★★★ | Spoj | Platform SPOJ berpusat di sekitar sistem juri online. Ini memegang sejumlah masalah yang disiapkan oleh komunitasnya yang bermasalah atau diambil dari kontes pemrograman sebelumnya, beberapa di antaranya merupakan masalah besar untuk latihan (lihat bagian Classifiers Masalah). Spoj juga memungkinkan pengguna tingkat lanjut untuk mengatur kontes berdasarkan aturan mereka sendiri. |
| ★★ ☆ | Timus | Timus Online Judge adalah arsip Rusia terbesar tentang masalah pemrograman dengan sistem penilaian otomatis. Masalah sebagian besar dikumpulkan dari kontes yang diadakan di Ural Federal University, Ural Championships, Ural ACM ICPC Subregional Contests, dan Kamp Pelatihan Petrozavodsk. |
| ★ ☆☆ | Hdu | HDU adalah hakim online yang dikelola oleh Universitas Hangzhou Dianzi. Ini adalah rumah bagi banyak masalah klasik dari adegan IOI Cina. |
| ★★ ☆ | Hakim online aizu | Aizu Online Judge adalah platform kontes dan arsip masalah yang diselenggarakan oleh University of Aizu. Ini memiliki banyak masalah besar dari kompetisi pemrograman di Jepang. |
| ★★ ☆ | Uva | Arsip Masalah Sekolah Tua / Juri Online dengan Sejarah yang Kaya. Ribuan masalah, termasuk banyak masalah klasik, ditampilkan di sini. Namun, sangat disarankan agar Anda berlatih dengan Uhunt mengikuti bagian "Latihan Pemrograman Kompetitif". |
| ★★ ☆ | Hackerrank | Hackerrank adalah perusahaan yang berfokus pada tantangan pemrograman kompetitif bagi konsumen dan bisnis. Tantangan pemrograman Hackerrank dapat diselesaikan dalam berbagai bahasa pemrograman dan menjangkau banyak domain ilmu komputer. |
| ★★ ☆ | POJ | POJ adalah hakim online dengan banyak masalah besar yang dikelola oleh Peking University. Sebagian besar programmer kompetitif Cina memulai perjalanan mereka di sini. Platform ini benar-benar tanggal kompilasi yang begitu misterius dan masalah run-time dapat terjadi. |
| ★★ ☆ | Proyek Euler | Project Euler menampilkan serangkaian masalah matematika yang menakjubkan. Ini juga menyelenggarakan forum tempat orang dapat berdiskusi. |
| ★ ☆☆ | Hackerearth | Hackerearth adalah perusahaan teknologi startup yang berbasis di Bangalore, India yang menyediakan solusi perekrutan. |
| ★ ☆☆ | Hakim Online Karibia | COJ diselenggarakan oleh University of Informatics Sciences (UCI, dengan akronimnya dalam bahasa Spanyol), yang terletak di Kuba. Fitur ACM ICPC dan gaya kontes progresif, sebagian besar dari Caribbean dan Latin American Problem Setters, juga memiliki classifier masalah dan kalender kontes. |
| ★★ ☆ | CS Academy | Baru dalam adegan pemrograman kompetitif, CS Academy adalah hakim online yang berkembang yang menjadi tuan rumah kompetisi setiap dua minggu sekali. Ini mendukung obrolan langsung, pelajaran interaktif, dan editor online terintegrasi (yang benar -benar berfungsi). |
| ★★ ☆ | Piala Kode Rusia | Kompetisi Pemrograman Didukung oleh Mail.ru Group. Persaingan terdiri dari 3 kualifikasi, 1 eliminasi dan 1 putaran final. Untuk setiap kontestan putaran diberikan 4-8 masalah yang harus diselesaikan dalam jumlah waktu yang tetap. |
| ★★ ☆ | Codefights | Codefights adalah situs web untuk praktik pemrograman kompetitif dan persiapan wawancara. Ini menampilkan tantangan harian dengan berbagai kesulitan, arsip masalah dan turnamen mini reguler (setiap 15 menit). Bagus untuk pemula. |
| ★★ ☆ | Omegaup (Spanyol) | Omegaup adalah situs web berbasis komunitas untuk pelatihan pemrograman kompetitif. Di sinilah Olympiad Meksiko di Informatika (OMI: Olimpiada mexicana de Informática) diselenggarakan. |
Pengklasifikasi masalah
Situs mengklasifikasikan masalah pemrograman.
Pilih kategori (mis. DP) yang menarik dan praktik masalah pada topik itu.
| ☆ | Nama | Keterangan |
|---|
| ★★★ | A2 Hakim Online | Campur aduk |
| ★★★ | Pengklasifikasi Masalah | Spoj |
| ★★ ☆ | Hakim Online UVA | Buku CP |
| ★ ☆☆ | Tag Codeforces | CF (DP) |
| ★★ ☆ | Hackerrank | Hackerrank |
| ★★ ☆ | Lembar Pelatihan Juniors, oleh Mostafa Saad Ibrahim | ~ 800 masalah yang diperintahkan untuk pendatang baru menjadi baik hingga div2-d |
| ★★ ☆ | Lucky 貓的 Uva (acm )園地 (Cina) | Uva |
| ★★ ☆ | Arsip Masalah Topcoder | Daftar masalah dengan kategori dan tingkat kompleksitas |
Kalender Kontes
Kalender untuk kontes pemrograman yang akan datang.
(Jangan pernah melewatkan kontes lain!)
| ☆ | Nama | Keterangan |
|---|
| ★★★ | Kalender Kontes Pemrograman - Hackerrank | Ekspor Kalender Google tersedia |
| ★★ ☆ | klist.by | API tersedia untuk digunakan |
| ★★ ☆ | Kalender pengkodean (aplikasi Android) | |
| ★★ ☆ | Kalender Coder: Aplikasi Android, Ekstensi Chrome, Add-On Firefox | |
| ★★★ | Codorizon: Aplikasi iOS, Aplikasi Android | |
| ★★★ | Kalender Kontes Pemrograman Kompetitif | Ekspor Kalender Google tersedia |
Situs untuk pertanyaan
Ini adalah situs yang bagus untuk mengajukan pertanyaan.
Tempel Kode Anda di IdeOne, Pastebin atau situs lain untuk menghindari masalah pemformatan.
| ☆ | Nama | Keterangan |
|---|
| ★★★ | Codeforces | Untuk jawaban cepat, Codeforces jelas merupakan tempat untuk bertanya tentang apa pun yang terkait dengan kompetisi. |
| ★★★ | Pemrograman Kompetitif - Quora | Anda biasanya akan mendapatkan jawaban yang lebih rumit di Quora, tetapi Anda mungkin tidak memiliki pertanyaan Anda langsung dijawab. |
| ★★ ☆ | Exchange Stack Ilmu Komputer Teoritis | Tempat ini umumnya untuk para akademisi, jadi jangan ajukan pertanyaan tentang masalah kontes di sini. |
Kamp dan pelatihan
Pelatihan dan kamp online.
| ☆ | Nama | Keterangan |
|---|
| ★★★ | Pelatihan Pemecahan Masalah Gratis Online, oleh Mostafa Saad Ibrahim | Lihat detail pembinaan dan orang -orang berkomentar tentang sifat/kualitasnya. |
Implementasi
Implementasi Algoritma & Struktur Data.
| ☆ | Nama | Keterangan |
|---|
| ★★★ | Codelibrary, oleh Andrey Naumenko (Indy256) | Codelibrary berisi banyak koleksi implementasi untuk algoritma dan struktur data di Java dan C ++. Anda juga dapat mengunjungi repositori GitHub -nya. |
| ★★★ | Spaghetti-Source/Algorithm, oleh Takanori Maehara (@tmaehara) | Implementasi berkualitas tinggi dari banyak algoritma keras dan struktur data. |
| ★★★ | KTH-Competitive-Programming/Kactl, oleh Simon Lindholm (Simonlindholm) et al. | Notebook tim yang terorganisir, didokumentasikan, dan diuji secara fenomenal dari KTH Royal Institute of Technology. Salah satu buku catatan tim yang paling baik (perpustakaan kontes) yang pernah saya lihat. |
| ★★ ☆ | Jaehyunp/Stanfordacm | Notebook tim Stanford terawat dengan baik dan kode-kode di dalamnya berkualitas tinggi. |
| ★★ ☆ | NGTHANHTRUNG23/ACM_NOTEBOCE_NEW, oleh Tim RR Watameda (i_love_hoang_yen, flashmt, nguyenhungtam) dari Universitas Nasional Singapura | RR Watameda mewakili Universitas Nasional Singapura untuk Final Dunia ACM-ICPC 2016. Item dalam buku catatan ini cukup standar dan terorganisir dengan baik. |
| ★★ ☆ | Bobogei81123/bcw_codebook, oleh tim bcw0x1bd2 (darkhh, bobogei81123, step5) dari universitas nasional Taiwan nasional | BCW0X1BD2 mewakili Universitas Nasional Taiwan untuk Final Dunia ACM-ICPC 2016. Buku catatan ini berisi implementasi yang kuat untuk struktur dan algoritma data canggih. |
| ★ ☆☆ | ForeverBell/ACM-ICPC-Cheat-Sheet, oleh Foreverbell (Foreverbell) | Buku catatan dengan beberapa struktur data lanjutan dan algoritma termasuk beberapa dari adegan informatika China. |
| ★ ☆☆ | Igor's Code Archive, oleh Igor Naverniouk (Abednego) | Buku catatan yang bagus oleh Igor Naverniouk yang saat ini menjadi insinyur perangkat lunak di Google dan bagian dari tim Google Code Jam. |
Spesifik bahasa
Bahasa dan pengetahuan lain -lain.
C/C ++
| ☆ | Nama | Keterangan |
|---|
| ★★ ☆ | Power Up C ++ dengan Perpustakaan Template Standar - Topcoder: Bagian 1, Bagian 2 | Tutorial pengantar tentang C ++ STL dasar. |
| ★★ ☆ | Sekali lagi pada input/output C ++ - Codeforces | Pelajari lebih lanjut tentang optimasi C ++ I/O. |
| ★★ ☆ | Trik C ++ - Codeforces ... Apa saja trik C ++ keren untuk digunakan dalam kontes pemrograman? - Quora | Trik C ++ berlimpah untuk pemrograman kompetitif. Perhatikan bahwa beberapa harus digunakan dengan hati -hati. |
| ★★★ | C ++ STL: Struktur Data Berbasis Kebijakan - Codeforces: Bagian 1, Bagian 2 | Pengantar terperinci untuk struktur data tambahan yang diimplementasikan dalam GNU C ++. Dokumentasi resmi dapat ditemukan di sini. |
| ★ ☆☆ | C ++ 11 FAQ (Inggris, Cina, Rusia, Jepang, Korea) | Daftar FAQ tentang C ++ 11 yang dikumpulkan dan ditulis oleh Bjarne Stroustrup, pencipta C ++. |
Jawa
| ☆ | Nama | Keterangan |
|---|
| ★★ ☆ | Cara membaca input di java - tutorial - codeforces | Pelajari cara membaca input lebih cepat. Ini adalah membaca yang harus dibaca bagi mereka yang berniat menggunakan java untuk pemrograman kompetitif |
| ★★ ☆ | Cara mengurutkan array di java dan menghindari tle - codeforces | Beberapa tips tentang cara menghindari memukul kasus terburuk dengan cepat |
| ★★ ☆ | Aritmatika Bignum di Java - Mari kita unggahkan Biginteger! - Codeforces | Kelas biginteger dasar tapi lebih cepat |
| ★★ ☆ | Koleksi EZ, EZ Life (Perpustakaan Java Baru untuk Kontes) - Codeforces | Perpustakaan Java untuk kontes yang ditulis oleh Alexey Dergunov (Dalex). ArrayList, Arraydeque, Heap, Sort, Hashset, Hashmap, TreeSet, TreeMap, Treeelist dan Pair diterapkan |
Aneka ragam
| ☆ | Nama | Keterangan |
|---|
| ★★★ | Sit Hacks Twiddling | Daftar besar trik manipulasi bit yang dikompilasi. |
| ★★★ | Membandingkan Nomor Floating Point, Edisi 2012 - ASCII acak | Semua yang perlu Anda ketahui tentang nomor titik mengambang. Harus dibaca terutama untuk topik geometri. |
| ★★ ☆ | Bahasa gaya C yang berorientasi objek: C ++, Objective-C, Java, C#-Lembar referensi berdampingan | Lembar referensi berdampingan yang terperinci untuk sintaksis umum. |
Peralatan
Alat luar biasa yang akan membuat hidup Anda lebih mudah.
IDES
| ☆ | Nama | Platform | Keterangan |
|---|
| ★★★ | Vim | CLI / Cross-Platform | Vim adalah salah satu editor teks paling populer di kalangan pemrogram canggih. Ini memungkinkan pengeditan teks dilakukan dengan sangat efisien hanya dengan penekanan tombol. VIM juga sangat dapat dikonfigurasi, dapat diperluas dan terintegrasi dengan shell (baris perintah) dengan sangat baik. Satu -satunya kemunduran tentang VIM adalah memiliki kurva belajar yang tinggi untuk pemula. |
| ★★★ | Emacs | CLI / Cross-Platform | Emacs adalah editor teks populer lainnya (atau lingkungan pengembangan lebih tepatnya). Perdebatan tentang "Vim vs Emacs" terus dibesarkan karena popularitasnya. Pada dasarnya Emacs lebih dari sekadar editor teks. Ini memiliki plugin seperti manajer file, browser web, klien surat dan klien berita yang memungkinkan pengguna untuk melakukan tugas -tugas ini langsung di dalam Emac. Emacs "lebih berat" karena ini, tetapi bisa dibilang memiliki kurva belajar yang relatif lebih mudah untuk pemula. |
| ★★★ | Manajer jauh | Hibrida / Windows | Far Manager adalah editor yang paling banyak digunakan dalam komunitas pemrograman kompetitif RU/CIS. Ini sebenarnya adalah manajer file di tulang telanjangnya, tetapi Anda dapat menginstal FarColorer - plugin sintaksis highlighter untuk diprogram di atasnya. Dikonfigurasi dengan benar, Far Manager memungkinkan Anda menavigasi antar file dengan sangat efisien saat menulis kode Anda. |
| ★★★ | Kode :: Blok | GUI / Cross-Platform | Kode :: Blok adalah IDE masuk untuk C/C ++. Ini adalah IDE yang lengkap dan serbaguna dengan banyak fitur hebat. Kode :: Blok biasanya disediakan bersama dengan VIM dalam kontes pemrograman. |
| ★★★ | Ide Intellij | GUI / Cross-Platform | Ide IntelliJ tentu saja merupakan salah satu IDE terbaik untuk Java. Ini digunakan oleh sebagian besar programmer kompetitif yang menggunakan Java sebagai bahasa utama mereka. Pastikan untuk memeriksa Chelper, plugin yang sangat berguna yang ditulis untuk kontes pemrograman. |
| ★★ ☆ | Teks luhur | GUI / Cross-Platform | Teks Sublime adalah editor teks yang luar biasa. Dikemas dengan fitur -fitur yang kuat dan inovatif seperti beberapa karet, minimap, dan palet komando, menarik komunitas yang kuat dan menarik. Teks luhur sangat dapat diperluas, jadi pastikan untuk menginstal paket dan jelajahi mungkin salah satu katalog plugin terbesar! |
| ★★ ☆ | Gerhana | GUI / Cross-Platform | Eclipse adalah ide bagus lainnya untuk Java. Ini adalah alternatif yang baik untuk ide intellij (sedikit lebih rendah dari ide menurut standar hari ini). Terkadang kontes hanya menyediakan gerhana untuk beberapa alasan, jadi ini mungkin insentif yang baik untuk mencoba dan menggunakan gerhana. |
| ★★ ☆ | Clion | GUI / Cross-Platform | Clion, yang diproduksi oleh JetBrains - perusahaan yang sama yang membuat ide IntelliJ, adalah ide yang kuat untuk C ++. Lisensi pendidikan gratis tersedia atau Anda dapat mencoba EAP mereka (Program Akses Awal) yang masih gratis pada April 2018. Anda mungkin ingin mematikan fitur inspeksi kode karena akan menyebabkan sedikit kelambatan. |
| ★ ☆☆ | IDE lainnya | Campur aduk | Visual Studio adalah IDE untuk digunakan jika Anda ingin mengkode C#. ... Baik kode studio atom dan visual dibangun dengan elektron (ditulis dalam JavaScript) dan karenanya agak hogging sumber daya. ... Codelite adalah IDE yang baru naik. Berhati-hatilah bahwa waktu pemuatan dan penciptaan proyek bisa luar biasa. |
Keperluan pribadi
| ☆ | Nama | Keterangan |
|---|
| ★★★ | Visualgo | Situs web yang menampilkan banyak alat visualisasi untuk algoritma dan struktur data. |
| ★★★ | Pembantu Praktek Umum: ... Chelper (Intellij Ide) (Manual) ... Caide (Visual Studio, Codelite, Aplikasi Baris Perintah Standalone) ... Jhelper (AppCode, Clion) Online-Judge-Tools (Stand Alone CLI Tool, ia dipertahankan secara aktif.) | Alat hebat yang menguraikan kontes, kode perpustakaan inline dan menyediakan kerangka kerja pengujian. Mereka menghemat Anda dari menghabiskan waktu berharga Anda untuk beralih jendela dan menyalin-bolak-balik. |
| ★★ ☆ | Parsers Codeforces: ... Codeforces Parser ... GOCF ... CFParser (Emacs) CFParser (CLI) | Alat -alat ini parse masalah kontes Codeforces dan membantu menjalankan tes sampel. |
| ★★★ | Ensiklopedia On-Line dari Integer Sequences (OEIS) | Ensiklopedia yang menakjubkan dengan database urutan integer yang tak terhitung jumlahnya. Ini juga memiliki mesin pencari yang kuat. Terkadang masalah kombinatorik yang tampaknya sulit bisa setara dengan urutan integer yang sederhana atau dipelajari. |
| ★★ ☆ | Sintaks Sorote: ... TOhtml.com ... Markup.su ... Hilite.Me | Sangat berguna untuk membuat slide atau notebook tim dengan cuplikan kode yang cantik dan diformat. Cukup salin cuplikan kode yang disorot dan tempelnya di editor Wysiwyg (What-you-see-is-what-you-get)! |
| ★★ ☆ | Berbagi Kode: ... Ideone.com ... Pastebin.com ... Ubuntu Pastebin | Alat-alat ini menghasilkan halaman semi permanen untuk berbagi kode. Sangat berguna terutama ketika Anda mencoba membuat orang lain melihat kode Anda. |
| ★★ ☆ | Tak terlukiskan | Grader baris perintah sederhana untuk penilaian lokal. |
| ★★ ☆ | Udebug | Platform yang menyediakan output yang diharapkan untuk input yang ditentukan pengguna untuk masalah pada juri online UVA. Beberapa masalah juga menyediakan kasus uji tambahan untuk debugging. |
Persiapan Kontes
| ☆ | Nama | Keterangan |
|---|
| ★★★ | poligon | Polygon menyediakan platform dan serangkaian alat yang kaya untuk persiapan kontes profesional. ... Contoh: validator dengan testlib.h - codeforces |
| ★★ ☆ | Editor grafik | Alat yang fantastis untuk membuat dan memvisualisasikan grafik. |
| ★★ ☆ | tcframe | Kerangka kerja C ++ untuk menghasilkan kasus uji masalah pemrograman kompetitif. |
| ★★★ | Hakim Virtual (Vjudge) | Virtual Judge (Vjudge) memungkinkan pengguna untuk membuat kontes virtual dengan masalah dari arsip masalah yang terkenal. |
| ★★ ☆ | Hakim online BNU | Hakim online BNU juga memungkinkan pengguna untuk membuat kontes virtual. |
| ★★ ☆ | Kattis | Kattis membantu dalam persiapan kontes (email mereka untuk mendapatkan bantuan). |
Masyarakat
Temui programmer kompetitif seperti Tuhan!
Pelajari tips bermanfaat, tutorial, dan wawasan dari orang -orang ini :)
Blog
| Nama (pegangan) | Nama Blog |
|---|
| Blog Codeforces |
| Petr Mitrichev (Petr) | Algoritma Mingguan |
| Makoto Soejima (RNG_58) | Blog RNG_58 |
| Bruce Merry (BMERRY) | Entropi selalu meningkat |
| Przemysław Dębiak (psyho) | Blog Psyho |
| Anudeep Nekkanti (Anudeep2011) | Namespace anudeep;) |
| Vexorian (Vexorian) | Blog Vexorian |
| Ashar Fuadi (Fushar) | Blog Fushar |
| LIJIE CHEN (WJMZBMR) | WJMZBMR (Cina) |
| Huang I-Wen (Dreamoon) | 小月的耍廢日誌 (Cina) |
| Shiang-yun Yang (morris1028) | Blog Morris (Cina) |
| Yuhao du (Toodifficuit, Toosimple, Xudyh) | Xudyh (Cina) |
YouTube dan streaming langsung
| Nama (pegangan) | Link |
|---|
| Petr Mitrichev (Petr) | YouTube |
| Gerbang Kuliah oleh Ravindrababu Ravula | YouTube |
| Mostafa Saad Ibrahim (Mostafa.saad.fci) | YouTube Pemrograman Kompetitif (Teks Pidato-Inggris Arab) |
| Tushar Roy | YouTube, dengan banyak video tutorial. |
| Geeksforgeeks | YouTube |
| Algoritma hidup! | YouTube |
| Codechef | YouTube |
| Hackerrank | YouTube |
| Ideserve | YouTube |
| code_report | YouTube, dengan pembaruan kontes dan tutorial masalah Hackerrank, LeetCode, TopCoder dan Codeforces. |
| "Sothe" serigala algoritma | YouTube |
| Egor Kulikov (Egor) | YouTube |
| Adam Bardashevich (pelanggan) | YouTube |
| Bohdan pryshchenko (i_love_tanya_romanova) | Twitch, YouTube |
| Vladimir Smykalov (Enot.1.10) | Twitch, YouTube |
| ALEKSANDAR ABAS (Alex7) | YouTube |
| Mikhail Tikhomirov (Endagorion) | YouTube |
| Kamil Debowski (Errichto) | YouTube |
| David Harmeyer (SecondThread) | YouTube, Editorial, Kuliah Berkualitas Tinggi (Topik Lanjutan) |
| mycodeschool | YouTube, video berkualitas tinggi tentang pemrograman dasar, struktur data dan algoritma |
| William Lin (tmwilliamlin168) | YouTube, kebanyakan aliran, tips tetapi menginspirasi dan kadang -kadang berwawasan luas |
| 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 | Keterangan |
|---|
| 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
Artikel
Informative and helpful articles
| Subjek |
|---|
| 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
| Pertanyaan |
|---|
| 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
| Nama | Link |
|---|
| 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 |
| Algorithms | tayllan/awesome-algorithms |
| Algorithm Visualization | enjalot/algovis |
| Math | rossant/awesome-math |
| C ++ | fffaraz/awesome-cpp |
| Jawa | akullpp/awesome-java |
| Kursus | prakhar1989/awesome-courses |
| Free Programming Books | vhf/free-programming-books |
| Community-curated C++ Resources | Hackr.io |
Interview Questions
| Nama | Keterangan |
|---|
| 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. |
Lisensi
Awesome Competitive Programming is licensed under a Creative Commons Attribution 4.0 International License.