การเขียนโปรแกรมการแข่งขันที่ยอดเยี่ยม
รายการที่คัดสรรมาอย่างดีของ Competitive Programming Algorithm และทรัพยากร Data Structure ที่ยอดเยี่ยม
สร้างขึ้นด้วยมุมมองเพื่อเชื่อมต่อผู้คนกับข้อมูลรายการด้านล่างนี้มีคอลเลกชันที่สมบูรณ์ของแหล่งข้อมูลที่ยอดเยี่ยมทั้งหมดที่ฉันรวบรวมไว้ตลอดหลักสูตรการเขียนโปรแกรมการแข่งขัน 11 ปีของฉัน ฉันหวังว่าคุณจะพบว่ามีประโยชน์ :)
การเขียนโปรแกรมการแข่งขันคืออะไร? - quora
การบริจาค
กรุณาติดตามการบริจาค MD เพื่อเริ่มต้น
คุณยังสามารถมีส่วนร่วมโดยการแบ่งปัน!
แบ่งปันรายการกับเพื่อนร่วมชั้นเพื่อนของคุณและทุกคน :)
โดยเชื่อมโยงผู้คนมากขึ้นกับข้อมูล
คุณไม่ได้ทำฉัน แต่ทุกคนชอบมาก!
ฉันหวังว่าผู้คนจำนวนมากจะได้รับประโยชน์จากรายการนี้ :)
สารบัญ
- รายการรายการ
- หลักสูตร
- เว็บไซต์การสอน
- หลักสูตรเปิด
- เปิดหลักสูตรสำหรับอัลกอริทึมและโครงสร้างข้อมูล
- หนังสือ
- หนังสือสำหรับอัลกอริทึม หนังสือคณิตศาสตร์
- เว็บไซต์สำหรับการฝึกฝน
- ตัวแยกประเภทปัญหา ปฏิทินประกวด
- ค่ายและการฝึกอบรม
- เว็บไซต์สำหรับคำถาม
- การดำเนินการ
- เฉพาะภาษา
- C/C ++ | Java | เบ็ดเตล็ด
- เครื่องมือ
- ides | การใช้งานส่วนตัว | เตรียมประกวด
- ชุมชน
- บล็อก YouTube และ Livestreams | quora
- แหล่งข้อมูลที่ยอดเยี่ยมอื่น ๆ
- บทความ คำถามที่พบบ่อย รายการที่ยอดเยี่ยม | คำถามสัมภาษณ์
- ใบอนุญาต
รายการรายการ
รายการที่ดีเยี่ยมจัดเรียงตามหัวข้อ
| ชื่อ | คำอธิบาย |
|---|
| ทรัพยากรโพสต์บล็อกที่ดีเกี่ยวกับอัลกอริทึมและโครงสร้างข้อมูล - CodeForces | คอลเลกชันของโพสต์บล็อกการสอนที่ยอดเยี่ยมที่เขียนโดยผู้ใช้ CodeForces บางคนที่น่าสนใจ ได้แก่ ต้นไม้ palindromic โครงสร้างข้อมูลตามนโยบายและอื่น ๆ อีกมากมาย |
| บทช่วยสอนที่ดีทั้งหมดที่พบใน CodeForces - CodeForces | คอลเลกชันที่ดีของโพสต์บล็อกการสอนที่เขียนโดยผู้ใช้ CodeForces |
| โครงสร้างข้อมูลและอัลกอริทึม - CodeChef Disply | รายการทรัพยากรการเขียนโปรแกรมที่แข่งขันได้อย่างสมบูรณ์ ต้องมีในบุ๊กมาร์กเบราว์เซอร์ของคุณ |
| จะเตรียมตัวสำหรับ ACM - ICPC ได้อย่างไร? - geeksforgeeks | รายละเอียดการเดินผ่านการเตรียมการสำหรับ ACM-ACPC |
หลักสูตร
ค้นหาหัวข้อที่คุณต้องเรียนรู้
| ชื่อ | คำอธิบาย |
|---|
| หลักสูตร ioi | หลักสูตรรายละเอียดที่ผู้เข้าแข่งขัน IOI จะได้รับการทดสอบ สิ่งนี้ยังค่อนข้างเกี่ยวข้องกับ ACM-ACPC |
| จะเตรียมตัวสำหรับ ACM - ICPC ได้อย่างไร? - geeksforgeeks | รายละเอียดการเดินผ่านการเตรียมการสำหรับ ACM-ACPC |
| หลักสูตรการเขียนโปรแกรมค่าย | รายการหัวข้อสำคัญในการเขียนโปรแกรมการแข่งขันที่มีปัญหาการออกกำลังกาย |
| แผ่นฝึกอบรมจูเนียร์โดย Mostafa Saad Ibrahim | ~ 800 ปัญหาที่สั่งซื้อสำหรับผู้มาใหม่จะดีถึง div2-d |
เว็บไซต์การสอน
เว็บไซต์ที่ยอดเยี่ยมพร้อมบทช่วยสอนที่ยอดเยี่ยม
| ชื่อ | คำอธิบาย |
|---|
| บทเรียนวิทยาศาสตร์ข้อมูล TopCoder | รายการบทเรียนที่เขียนโดยสมาชิก TopCoder ที่เคารพนับถือ โปรแกรมเมอร์ชั้นนำหลายคนเริ่มเรียนรู้วิทยาศาสตร์ข้อมูลจากที่นี่ |
| E-Maxx (รัสเซีย), (ภาษาอังกฤษ) | เว็บไซต์การสอนที่ใช้กันอย่างแพร่หลายและอ้างอิงในชุมชนการเขียนโปรแกรมการแข่งขันที่พูดภาษารัสเซีย บทความส่วนใหญ่ของไซต์ดั้งเดิมได้รับการแปลเป็นภาษาอังกฤษ Google Translate ใช้งานได้ดีสำหรับส่วนที่เหลือ |
| อัลกอริทึม - geeksforgeeks | เว็บไซต์ที่มีบทความขนาดใหญ่ที่เขียนขึ้นอย่างสวยงามในหัวข้อต่าง ๆ มันเป็นทรัพยากรฟรีที่ยอดเยี่ยมสำหรับหลักสูตรอัลกอริทึม |
| Pegwiki | เว็บไซต์ที่มีการเขียนแบบวิกิเชิงลึกที่น่าทึ่งในหลายหัวข้อ มันดีกว่าในวิกิพีเดียในความคิดของฉัน |
| หมายเหตุ - Hackerearth | แพลตฟอร์มที่ยอดเยี่ยมสำหรับการสอน เยี่ยมชม Code Monk ด้วย |
| USA Computing Olympiad (USACO) | มีหน้าการฝึกอบรมหลายหน้าบนเว็บไซต์ซึ่งออกแบบมาเพื่อพัฒนาทักษะในการแก้ปัญหาการเขียนโปรแกรมเพื่อแก้ไขปัญหาอัลกอริทึมที่ยากและหลากหลายในจังหวะของตนเอง |
| เบส | บล็อกที่มีการสอนเชิงลึก, ภาพประกอบเกี่ยวกับอัลกอริทึมพื้นฐานและโครงสร้างข้อมูล |
| การเขียนโปรแกรมการแข่งขัน - CommonLounge | บทเรียนวิดีโอสั้น ๆ สำหรับแนวคิดเริ่มต้นและระดับกลาง บทเรียนขั้นสูงที่เลือกจากสิ่งที่ดีที่สุดที่มีอยู่ในบล็อก CP ต่างๆ |
| โอลิมปิกในสารสนเทศ | วารสารนานาชาติมุ่งเน้นไปที่การวิจัยและการปฏิบัติของมืออาชีพที่ทำงานในสาขาการเรียนการสอนและการเรียนรู้ข้อมูลเกี่ยวกับนักเรียนที่มีความสามารถ |
| Algolist (รัสเซีย) | เว็บไซต์รัสเซียที่อุทิศให้กับอัลกอริทึมทุกประเภท บางหัวข้อที่ระบุไว้ในเว็บไซต์นี้น่าสนใจทีเดียว |
| 演算法筆記 (บันทึกอัลกอริทึม) (ภาษาจีน) | หนึ่งในเว็บไซต์บทช่วยสอนที่ได้รับความนิยมมากที่สุดในชุมชนการเขียนโปรแกรมการแข่งขันของไต้หวัน ผู้ดูแลเว็บไซต์นี้ใช้ความพยายามอย่างมากในการค้นคว้าอัลกอริทึม |
| 国家集训队论文 1999-2015 (เอกสารจากค่ายฝึกอบรม IOI ของจีน) (จีน) | เอกสารจากค่ายฝึกอบรม IOI ของจีน เป็นเรื่องที่น่าสนใจสำหรับความจริงที่ว่าเราสามารถบอกได้ว่าภูมิภาคต่าง ๆ เน้นสิ่งต่าง ๆ |
| Mini-Editorials โดยผู้เข้ารับการฝึกอบรม Mostafa Saad Ibrahim | การแก้ปัญหาเกี่ยวกับบรรณาธิการสำหรับปัญหามากมายรวมถึงปัญหา UVA/SPOJ/IOI/Olympiad |
| Oi Wiki (การเขียนโปรแกรมการแข่งขัน) (ภาษาจีน) | Oi Wiki มุ่งมั่นที่จะเป็นเว็บไซต์การรวมโปรแกรมการเขียนโปรแกรมที่ได้รับการปรับปรุงอย่างต่อเนื่องและเปิดอย่างต่อเนื่อง วิกินี้เป็นคู่หูหรือแนวทางสำหรับโปรแกรมเมอร์ที่แข่งขันได้ซึ่งพยายามเรียนรู้บางสิ่งบางอย่าง |
หลักสูตรเปิด
พิจารณาเริ่มต้นการเดินทางการเขียนโปรแกรมการแข่งขันของคุณด้วยหลักสูตรที่ยอดเยี่ยมเหล่านี้!
| ชื่อ | คำอธิบาย |
|---|
| Code Monk โดย Hackerearth | การสอนทีละขั้นตอนที่ยอดเยี่ยมเกี่ยวกับหัวข้อสำคัญในการเขียนโปรแกรมการแข่งขัน |
| Stanford CS 97SI: บทนำสู่การแข่งขันการเขียนโปรแกรมการแข่งขัน | เสนอสไลด์บรรยายที่ครอบคลุมและรายการปัญหาการออกกำลังกายสั้น ๆ |
| วิธีชนะการแข่งขันการเข้ารหัส: ความลับของแชมป์เปี้ยน | หลักสูตรของมหาวิทยาลัย ITMO เกี่ยวกับการเข้ารหัสการแข่งขันบน EDX |
| ค่ายเขียนโปรแกรมอินเดียของ CodeChef | การบรรยายวิดีโอจากค่ายโปรแกรมอินเดียของ CodeChef 2016 การบรรยายที่ได้รับจากโปรแกรมเมอร์ที่มีการแข่งขันสูงเช่น Sergey Kulik, Kevin Charles Atienza และ Anudeep Nekkanti มุ่งเน้นไปที่การสำรวจแนวคิดเหล่านี้เป็นหลักโดยนำไปใช้กับปัญหาการแข่งขันที่แข่งขันจริง |
| Reykjavik T-414-áflv: หลักสูตรการเขียนโปรแกรมที่แข่งขันได้ | หลักสูตรที่ยอดเยี่ยมที่สอนโดย Bjarki Ágúuðmundsson (Suprdewd) การบรรยายเหล่านี้มีสไลด์ที่เรียบร้อยและรายการปัญหาที่ดีในการฝึกฝน |
| 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 | นี่เป็นหนังสือที่เขียนได้ดีซึ่งครอบคลุมปัญหาเรขาคณิตการคำนวณที่หลากหลาย |
| คู่มือ Hitchhiker สำหรับการแข่งขันการเขียนโปรแกรมโดย 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 เวอร์ชันอิเล็กทรอนิกส์ฟรี นี่เป็นหนังสือที่เขียนได้ดีจากบันทึกการบรรยายของหลักสูตรวิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎีที่มหาวิทยาลัยอิลลินอยส์ ครอบคลุมกระบวนทัศน์หลักของการย้อนรอยการเขียนโปรแกรมแบบไดนามิกโลภและกราฟโดยเฉพาะอย่างยิ่งในเชิงลึก |
| โครงสร้างข้อมูล Grokking โดย Marcello La Rocca | โครงสร้างข้อมูล Grokking จะแนะนำคุณอย่างระมัดระวังจากโครงสร้างข้อมูลพื้นฐานที่สุดเช่นอาร์เรย์หรือรายการที่เชื่อมโยงไปจนถึงโครงสร้างที่ทรงพลังเช่นกราฟ มันสมบูรณ์แบบสำหรับผู้เริ่มต้นและคุณไม่ต้องการอะไรมากไปกว่าคณิตศาสตร์ระดับมัธยมปลายเพื่อเริ่มต้น แต่ละโครงสร้างข้อมูลที่คุณพบมาพร้อมกับการใช้งาน Python ที่สมบูรณ์ของตัวเองเพื่อให้คุณสามารถเริ่มทดลองกับสิ่งที่คุณเรียนรู้ได้ทันที |
หนังสือคณิตศาสตร์
| ชื่อ | คำอธิบาย |
|---|
| คณิตศาสตร์ที่ไม่ต่อเนื่องและการใช้งานโดย Kenneth H. Rosen | คณิตศาสตร์ที่ไม่ต่อเนื่องมีความเกี่ยวข้องอย่างใกล้ชิดกับการเขียนโปรแกรมที่แข่งขันได้ หนังสือเล่มนี้ให้บริการวัสดุที่ครอบคลุมในหัวข้อที่หลากหลายรวมถึง: logics และ proofs, ชุด, ฟังก์ชั่น, ลำดับ, เมทริกซ์, ทฤษฎีจำนวน, การเรียกซ้ำ, การนับ, การนับ, ความน่าจะเป็น, กราฟ, ต้นไม้และบูลีน Alegra เป็นชื่อ แต่ไม่กี่ |
| คณิตศาสตร์คอนกรีต: รากฐานสำหรับวิทยาศาสตร์คอมพิวเตอร์โดย 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 | หัวข้อในการนับและความน่าจะเป็น Byformer USA ผู้ชนะการแข่งขันโอลิมปิกคณิตศาสตร์ David Patrick, หัวข้อต่างๆรวมถึงการรวมการรวม, การติดต่อ 1-1, หลักการนกพิราบ, ความคาดหวังที่สร้างสรรค์, Fibonacci และ Catalan, การเรียกซ้ำ, ความน่าจะเป็นตามเงื่อนไข, ฟังก์ชั่นการสร้างกราฟ |
เว็บไซต์สำหรับการฝึกฝน
ระบบผู้ตัดสินออนไลน์ / แพลตฟอร์มการประกวดที่ดีในการฝึกฝน
| ชื่อ | คำอธิบาย |
|---|
| รหัสกำลัง | CodeForces เป็นหนึ่งในแพลตฟอร์มการประกวดที่ได้รับความนิยมมากที่สุด ปัจจุบันได้รับการดูแลโดย Saratov State University มันมีการแข่งขันปกติและปัญหาต้นฉบับที่ยอดเยี่ยมนับไม่ถ้วน นอกจากนี้การประกวดทุกครั้งยังให้บทเรียนที่เป็นประโยชน์ทันที (โดยปกติ) เขียนโดยผู้เขียนเอง CodeForces ยังเป็นที่ตั้งของชุมชนที่แข็งแกร่งและมีส่วนร่วม โดยรวมแล้วเราจะเรียนรู้และปรับปรุงอย่างมากที่นี่ |
| รูปแบบ | TopCoder มีมาตั้งแต่ปี 2544 ที่อุดมไปด้วยประวัติศาสตร์ถือว่าเป็นหนึ่งในองค์กรที่มีชื่อเสียงที่สุดเมื่อพูดถึงการแข่งขันเทคโนโลยี SRMs หลายร้อยคนให้กำเนิดปัญหามากมาย ปัญหาที่นี่มักจะมีความท้าทายมากกว่าคนอื่น ๆ และ TopCoder จึงดึงดูดโปรแกรมโปรแกรมเมอร์ชั้นยอดหลายคน TopCoder Open ประจำปี (TCO) ยังเป็นเหตุการณ์ที่เกิดขึ้นอย่างกว้างขวาง |
| Google Code Jam | Google Code Jam เป็นหนึ่งในการแข่งขันการเขียนโปรแกรมที่ได้รับการยกย่องมากที่สุด การแข่งขันประกอบด้วยความท้าทายการเขียนโปรแกรมที่ไม่ซ้ำกันซึ่งจะต้องแก้ไขในเวลาที่กำหนด คู่แข่งอาจใช้ภาษาการเขียนโปรแกรมและสภาพแวดล้อมการพัฒนาเพื่อรับโซลูชั่นของพวกเขา |
| Atcoder | Atcoder เป็นแพลตฟอร์มการประกวดใหม่ที่สร้างขึ้นโดยทีมโปรแกรมเมอร์การแข่งขันญี่ปุ่นที่ได้รับการจัดอันดับสูง |
| CodeChef | CodeChef เป็นความคิดริเริ่มทางการศึกษาที่ไม่แสวงหาผลกำไรของ Directi มันเป็นแพลตฟอร์มการเขียนโปรแกรมการแข่งขันระดับโลกและมีชุมชนโปรแกรมเมอร์ขนาดใหญ่ที่ช่วยให้นักเรียนและมืออาชีพทดสอบและพัฒนาทักษะการเข้ารหัสของพวกเขา วัตถุประสงค์ของมันคือการจัดหาแพลตฟอร์มสำหรับการฝึกฝนการแข่งขันและการปรับปรุงสำหรับทั้งนักเรียนและนักพัฒนาซอฟต์แวร์มืออาชีพ นอกเหนือจากนี้มันมีจุดมุ่งหมายที่จะเข้าถึงนักเรียนในขณะที่พวกเขายังเด็กและปลูกฝังวัฒนธรรมการเขียนโปรแกรมในอินเดีย |
| สปอจ | แพลตฟอร์ม SPOJ นั้นมีศูนย์กลางอยู่ที่ระบบผู้ตัดสินออนไลน์ มันมีปัญหาจำนวนมากที่จัดทำโดยชุมชนของการตั้งค่าปัญหาหรือนำมาจากการแข่งขันการเขียนโปรแกรมก่อนหน้านี้ซึ่งบางส่วนเป็นปัญหาที่ดีสำหรับการปฏิบัติ (อ้างอิงส่วนการแยกประเภทปัญหา) SPOJ ยังอนุญาตให้ผู้ใช้ขั้นสูงสามารถจัดการแข่งขันภายใต้กฎของตนเอง |
| Timus | Timus Online Judge เป็นที่เก็บถาวรของรัสเซียที่ใหญ่ที่สุดในการเขียนโปรแกรมด้วยระบบการตัดสินอัตโนมัติ ปัญหาส่วนใหญ่จะถูกรวบรวมจากการแข่งขันที่จัดขึ้นที่ URAL Federal University, Ural Championships, URAL ACM ICPC Subregional การแข่งขันและค่ายฝึกอบรม Petrozavodsk |
| HDU | HDU เป็นผู้พิพากษาออนไลน์ที่ดูแลโดยมหาวิทยาลัย Hangzhou Dianzi เป็นบ้านของปัญหาคลาสสิกมากมายจากฉาก IOI จีน |
| ผู้พิพากษาออนไลน์ของไอซุ | Aizu Online Judge เป็นแพลตฟอร์มการประกวดและการเก็บถาวรปัญหาที่จัดขึ้นโดย University of Aizu มีปัญหามากมายจากการแข่งขันการเขียนโปรแกรมในญี่ปุ่น |
| UVA | การเก็บถาวรปัญหาโรงเรียนเก่า / ผู้พิพากษาออนไลน์ที่มีประวัติอันยาวนาน ปัญหาหลายพันปัญหารวมถึงปัญหาคลาสสิกมากมายที่นี่ อย่างไรก็ตามขอแนะนำอย่างยิ่งให้คุณฝึกฝนกับ Uhunt ตามส่วน "แบบฝึกหัดการเขียนโปรแกรมที่แข่งขันได้" |
| Hackerrank | HackerRank เป็น บริษัท ที่มุ่งเน้นไปที่ความท้าทายในการเขียนโปรแกรมสำหรับผู้บริโภคและธุรกิจ ความท้าทายในการเขียนโปรแกรมของ Hackerrank สามารถแก้ไขได้ในภาษาการเขียนโปรแกรมที่หลากหลายและครอบคลุมหลายโดเมนวิทยาศาสตร์คอมพิวเตอร์ |
| ปอจ | POJ เป็นผู้ตัดสินออนไลน์ที่มีปัญหามากมายที่ได้รับการดูแลโดยมหาวิทยาลัยปักกิ่ง โปรแกรมเมอร์การแข่งขันจีนส่วนใหญ่เริ่มเดินทางที่นี่ แพลตฟอร์มดังกล่าวเป็นวันที่จริง ๆ แล้วการรวบรวมลึกลับและปัญหาการทำงานอาจเกิดขึ้นได้ |
| ออยเลอร์โครงการ | Project Euler มีปัญหาทางคณิตศาสตร์ที่น่าทึ่ง นอกจากนี้ยังเป็นเจ้าภาพในฟอรัมที่ผู้คนสามารถพูดคุยได้ |
| แฮ็กเกอร์ | Hackerearth เป็น บริษัท เทคโนโลยีเริ่มต้นที่อยู่ในบังกาลอร์ประเทศอินเดียที่ให้บริการโซลูชั่นการสรรหา |
| ผู้พิพากษาออนไลน์แคริบเบียน | COJ เป็นเจ้าภาพโดยมหาวิทยาลัยสารสนเทศวิทยาศาสตร์ (UCI โดยตัวย่อเป็นภาษาสเปน) ตั้งอยู่ในคิวบา ฟีเจอร์ ACM ICPC และรูปแบบการประกวดแบบก้าวหน้าส่วนใหญ่มาจากแคริบเบียนและละตินอเมริกาที่มีปัญหายังมีตัวจําแนกและปฏิทินการแข่งขัน |
| CS Academy | ใหม่ในฉากการเขียนโปรแกรมการแข่งขัน CS Academy เป็นผู้ตัดสินออนไลน์ที่กำลังเติบโตซึ่งเป็นเจ้าภาพการแข่งขันทุกสองสัปดาห์ รองรับการแชทสดบทเรียนแบบโต้ตอบและโปรแกรมแก้ไขออนไลน์แบบบูรณาการ (ซึ่งใช้งานได้จริง) |
| ถ้วยรหัสรัสเซีย | การแข่งขันการเขียนโปรแกรมขับเคลื่อนโดย mail.ru Group การแข่งขันประกอบด้วย 3 คุณสมบัติการกำจัด 1 ครั้งและ 1 รอบสุดท้าย สำหรับผู้เข้าแข่งขันรอบแต่ละรอบจะได้รับปัญหา 4-8 ซึ่งจะต้องแก้ไขในระยะเวลาที่แน่นอน |
| CodeFights | CodeFights เป็นเว็บไซต์สำหรับการฝึกการเขียนโปรแกรมที่แข่งขันได้และการเตรียมการสัมภาษณ์ มันมีความท้าทายในชีวิตประจำวันของความยากลำบากที่แตกต่างกันการเก็บถาวรของปัญหาและการแข่งขันมินิทัวร์นาเมนต์ปกติ (ทุก ๆ 15 นาที) เหมาะสำหรับผู้เริ่มต้น |
| Omegaup (สเปน) | Omegaup เป็นเว็บไซต์ที่ใช้ชุมชนสำหรับการฝึกอบรมการโปรแกรมการแข่งขัน นอกจากนี้ยังเป็นที่ที่โอลิมปิกเม็กซิกันในสารสนเทศ (OMI: Olimpiada Mexicana de Informática) เป็นเจ้าภาพ |
ตัวแยกประเภทปัญหา
ไซต์การจำแนกปัญหาการเขียนโปรแกรม
เลือกหมวดหมู่ (เช่น DP) ที่น่าสนใจและปัญหาการปฏิบัติในหัวข้อนั้น
| ชื่อ | คำอธิบาย |
|---|
| A2 ผู้ตัดสินออนไลน์ | ผสมกัน |
| ตัวจําแนกที่มีปัญหา | สปอจ |
| UVA Online Judge | หนังสือ CP |
| แท็ก CodeForces | CF (DP) |
| Hackerrank | Hackerrank |
| แผ่นฝึกอบรมจูเนียร์โดย Mostafa Saad Ibrahim | ~ 800 ปัญหาที่สั่งซื้อสำหรับผู้มาใหม่จะดีถึง div2-d |
| โชคดี貓的 UVA (ACM) (จีน) | UVA |
| คลังปัญหา topcoder | รายการปัญหาเกี่ยวกับหมวดหมู่และระดับความซับซ้อน |
ปฏิทินประกวด
ปฏิทินสำหรับการแข่งขันการเขียนโปรแกรมที่กำลังจะมาถึง
(อย่าพลาดการแข่งขันอื่น!)
| ชื่อ | คำอธิบาย |
|---|
| ปฏิทินการประกวดการเขียนโปรแกรม - HackerRank | มีการส่งออกปฏิทิน Google |
| clist.by | API พร้อมใช้งาน |
| ปฏิทินการเข้ารหัส (แอพ Android) | |
| ปฏิทินของ Coder: แอพ Android, Extension Chrome, Firefox Add-on | |
| CodeHorizon: แอพ iOS, แอป Android | |
| ปฏิทินการเขียนโปรแกรมที่แข่งขันได้ | มีการส่งออกปฏิทิน Google |
เว็บไซต์สำหรับคำถาม
เหล่านี้เป็นเว็บไซต์ที่ยอดเยี่ยมในการถามคำถาม
วางรหัสของคุณที่ ideone, pastebin หรือเว็บไซต์อื่น ๆ เพื่อหลีกเลี่ยงปัญหาการจัดรูปแบบ
| ชื่อ | คำอธิบาย |
|---|
| รหัสกำลัง | สำหรับคำตอบที่รวดเร็ว CodeForces เป็นสถานที่ที่จะถามเกี่ยวกับสิ่งที่เกี่ยวข้องกับการแข่งขัน |
| การเขียนโปรแกรมการแข่งขัน - Quora | โดยทั่วไปคุณจะได้รับคำตอบที่ซับซ้อนมากขึ้นเกี่ยวกับ Quora แต่คุณอาจไม่มีคำถามของคุณตอบทันที |
| การแลกเปลี่ยนสแต็กวิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎี | สถานที่นี้โดยทั่วไปสำหรับนักวิชาการดังนั้นอย่าถามคำถามเกี่ยวกับปัญหาการแข่งขันที่นี่ |
ค่ายและการฝึกอบรม
การฝึกอบรมและค่ายออนไลน์
| ชื่อ | คำอธิบาย |
|---|
| การฝึกการแก้ปัญหาออนไลน์ฟรีโดย Mostafa Saad Ibrahim | ดูรายละเอียดการฝึกสอนและความคิดเห็นของผู้คนเกี่ยวกับธรรมชาติ/คุณภาพ |
การดำเนินการ
การใช้งานอัลกอริทึมและโครงสร้างข้อมูล
| ชื่อ | คำอธิบาย |
|---|
| Codelibrary โดย Andrey Naumenko (Indy256) | CodeLibrary มีการรวบรวมการใช้งานจำนวนมากสำหรับอัลกอริทึมและโครงสร้างข้อมูลใน Java และ C ++ คุณสามารถเยี่ยมชมพื้นที่เก็บข้อมูล GitHub ของเขา |
| Spaghetti-Source/Algorithm โดย Takanori Maehara (@tmaehara) | การใช้งานที่มีคุณภาพสูงของอัลกอริทึมและโครงสร้างข้อมูลมากมาย |
| KTH-programming/kactl โดย Simon Lindholm (Simonlindholm) และคณะ | สมุดบันทึกทีมที่มีการจัดระเบียบและทดสอบอย่างน่าอัศจรรย์จาก KTH Royal Institute of Technology หนึ่งในสมุดบันทึกทีมที่ได้รับการออกแบบมาอย่างดีที่สุด (ห้องสมุดประกวด) ที่ฉันเคยเห็น |
| Jaehyunp/Stanfordacm | สมุดบันทึกทีมของสแตนฟอร์ดได้รับการดูแลอย่างดีและรหัสภายในมีคุณภาพสูง |
| ngthanhtrung23/acm_notebook_new โดยทีม RR Watameda (i_love_hoang_yen, Flashmt, Nguyenhungtam) จากมหาวิทยาลัยแห่งชาติสิงคโปร์แห่งชาติสิงคโปร์ | RR Watameda เป็นตัวแทนของ National University of Singapore สำหรับรอบชิงชนะเลิศ ACM-ICPC World Finals 2016 รายการในสมุดบันทึกนี้ค่อนข้างมาตรฐานและมีการจัดระเบียบอย่างดี |
| BOBOGEI81123/BCW_CODYBOOK โดย Team BCW0X1BD2 (Darkhh, Bobogei81123, ขั้นตอนที่ 5) จากมหาวิทยาลัยแห่งชาติไต้หวันมหาวิทยาลัย | BCW0X1BD2 เป็นตัวแทนของ National Taiwan University สำหรับรอบชิงชนะเลิศ ACM-ICPC World Finals 2016 สมุดบันทึกนี้มีการใช้งานที่แข็งแกร่งสำหรับโครงสร้างข้อมูลขั้นสูงและอัลกอริทึม |
| Foreverbell/ACM-ICPC-Cheat-sheet โดย Foreverbell (Foreverbell) | สมุดบันทึกที่มีโครงสร้างข้อมูลขั้นสูงและอัลกอริทึมรวมถึงบางส่วนจากฉากสารสนเทศของจีน |
| รหัสเก็บรหัสของ Igor โดย Igor Naverniouk (Abednego) | สมุดบันทึกที่ดีโดย Igor Naverniouk ซึ่งปัจจุบันเป็นวิศวกรซอฟต์แวร์ที่ Google และเป็นส่วนหนึ่งของทีม Google Code Jam |
เฉพาะภาษา
ภาษาและความรู้อื่น ๆ
C/C ++
| ชื่อ | คำอธิบาย |
|---|
| Power Up C ++ ด้วยไลบรารีเทมเพลตมาตรฐาน - TopCoder: ส่วนที่ 1 ตอนที่ 2 | บทช่วยสอนเบื้องต้นเกี่ยวกับ C ++ STLS ขั้นพื้นฐาน |
| อีกครั้งใน C ++ อินพุต/เอาต์พุต - CodeForces | เรียนรู้เพิ่มเติมเกี่ยวกับการเพิ่มประสิทธิภาพ C ++ I/O |
| เคล็ดลับ C ++ - CodeForces ... เคล็ดลับ C ++ ที่ยอดเยี่ยมในการใช้ในการประกวดโปรแกรมคืออะไร? - quora | เทคนิค C ++ มากมายสำหรับการเขียนโปรแกรมการแข่งขัน โปรดทราบว่าควรใช้บางอย่างด้วยความระมัดระวัง |
| C ++ STL: โครงสร้างข้อมูลตามนโยบาย - CodeForces: ส่วนที่ 1 ส่วนที่ 2 | แนะนำรายละเอียดเกี่ยวกับโครงสร้างข้อมูลเพิ่มเติมที่ใช้ใน GNU C ++ เอกสารอย่างเป็นทางการสามารถพบได้ที่นี่ |
| C ++ 11 คำถามที่พบบ่อย (อังกฤษ, จีน, รัสเซีย, ญี่ปุ่น, เกาหลี) | รายการคำถามที่พบบ่อยเกี่ยวกับ C ++ 11 รวบรวมและเขียนโดย Bjarne Stroustrup ผู้สร้าง C ++ |
ชวา
| ชื่อ | คำอธิบาย |
|---|
| วิธีอ่านอินพุตใน Java - การสอน - CodeForces | เรียนรู้วิธีการอ่านอินพุตได้เร็วขึ้น นี่เป็นสิ่งที่ต้องอ่านสำหรับผู้ที่ตั้งใจจะใช้ Java สำหรับการเขียนโปรแกรมการแข่งขัน |
| วิธีการเรียงลำดับอาร์เรย์ใน Java และหลีกเลี่ยง tle - codeforces | เคล็ดลับบางประการเกี่ยวกับวิธีหลีกเลี่ยงการตีเคสที่เลวร้ายที่สุดของการจัดเรียงอย่างรวดเร็ว |
| Bignum arithmetic ใน Java - มาดีกว่า BigInteger กันเถอะ! - CodeForces | คลาส Biginteger ที่กำหนดเองพื้นฐาน แต่เร็วกว่า |
| EZ Collections, EZ Life (ห้องสมุด Java ใหม่สำหรับการแข่งขัน) - CodeForces | ห้องสมุด Java สำหรับการแข่งขันที่เขียนโดย Alexey Dergunov (Dalex) ArrayList, ArrayDeque, Heap, Sort, Hashset, HashMap, Treeet, TreeMap, Treelist และ Pair Classes จะถูกนำไปใช้ |
เบ็ดเตล็ด
| ชื่อ | คำอธิบาย |
|---|
| แฮ็ค twiddling บิต | รายการเทคนิคการจัดการบิตที่รวบรวมได้อย่างมาก |
| การเปรียบเทียบหมายเลขจุดลอยตัว, 2012 Edition - สุ่ม ASCII | ทุกสิ่งที่คุณจำเป็นต้องรู้เกี่ยวกับหมายเลขจุดลอยตัว ต้องอ่านโดยเฉพาะสำหรับหัวข้อเรขาคณิต |
| ภาษาสไตล์ C เชิงวัตถุ: C ++, Objective-C, Java, C#-แผ่นอ้างอิงแบบเคียงข้างกัน | แผ่นอ้างอิงแบบเคียงข้างกันอย่างละเอียดสำหรับไวยากรณ์ทั่วไป |
เครื่องมือ
เครื่องมือที่ยอดเยี่ยมที่จะทำให้ชีวิตของคุณง่ายขึ้น
ides
| ชื่อ | แพลตฟอร์ม | คำอธิบาย |
|---|
| vim | CLI / cross-platform | VIM เป็นหนึ่งในบรรณาธิการข้อความที่ได้รับความนิยมมากที่สุดในบรรดาโปรแกรมเมอร์ขั้นสูง ช่วยให้การแก้ไขข้อความสามารถทำได้อย่างมีประสิทธิภาพมากด้วยการกดแป้นพิมพ์เพียงอย่างเดียว VIM ยังสามารถกำหนดค่าได้สูงขยายได้และรวมเข้ากับเชลล์ (บรรทัดคำสั่ง) ได้ดีจริงๆ ความพ่ายแพ้เพียงอย่างเดียวเกี่ยวกับ VIM คือมันมีช่วงการเรียนรู้ที่สูงสำหรับผู้เริ่มต้น |
| Emacs | CLI / cross-platform | Emacs เป็นอีกหนึ่งตัวแก้ไขข้อความยอดนิยม (หรือสภาพแวดล้อมการพัฒนาที่แม่นยำยิ่งขึ้น) การถกเถียงเรื่อง "Vim vs. Emacs" ถูกนำขึ้นมาอย่างต่อเนื่องเนื่องจากความนิยมของพวกเขา Emacs โดยทั่วไปเป็นมากกว่าแค่ตัวแก้ไขข้อความ มีปลั๊กอินเช่นผู้จัดการไฟล์เว็บเบราว์เซอร์ไคลเอนต์เมลและไคลเอนต์ข่าวที่อนุญาตให้ผู้ใช้ปฏิบัติงานเหล่านี้ได้โดยตรงภายใน EMACS Emacs เป็น "หนักกว่า" ด้วยเหตุนี้ แต่มันมีความโค้งการเรียนรู้ที่ค่อนข้างง่ายสำหรับผู้เริ่มต้น |
| ผู้จัดการไกล | ไฮบริด / windows | Far Manager เป็นบรรณาธิการที่ใช้กันอย่างแพร่หลายในชุมชนการเขียนโปรแกรมการแข่งขัน RU/CIS จริงๆแล้วมันเป็นตัวจัดการไฟล์ในกระดูกเปลือย แต่คุณสามารถติดตั้ง Farcolorer - ปลั๊กอินไฮไลต์ไวยากรณ์เพื่อโปรแกรม กำหนดค่าอย่างถูกต้อง Far Manager ช่วยให้คุณสามารถนำทางระหว่างไฟล์ได้อย่างมีประสิทธิภาพมากในขณะที่เขียนรหัสของคุณ |
| รหัส :: บล็อก | GUI / ข้ามแพลตฟอร์ม | Code :: Blocks เป็น IDE ไปยัง C/C ++ มันเป็น IDE ที่เต็มเปี่ยมและหลากหลายพร้อมคุณสมบัติที่ยอดเยี่ยมมากมาย รหัส :: บล็อกมักจะจัดเตรียมไว้พร้อมกับ VIM ในการแข่งขันการเขียนโปรแกรม |
| Intellij Idea | GUI / ข้ามแพลตฟอร์ม | Intellij Idea เป็นหนึ่งใน IDE ที่ดีที่สุดสำหรับ Java มันถูกใช้โดยโปรแกรมเมอร์ที่แข่งขันได้มากที่สุดที่ใช้ Java เป็นภาษาหลักของพวกเขา อย่าลืมตรวจสอบ Chelper ปลั๊กอินที่มีประโยชน์มากที่เขียนขึ้นสำหรับการแข่งขันการเขียนโปรแกรม |
| ข้อความประเสริฐ | GUI / ข้ามแพลตฟอร์ม | ข้อความประเสริฐเป็นตัวแก้ไขข้อความพิเศษ เต็มไปด้วยคุณสมบัติที่ทรงพลังและเป็นนวัตกรรมเช่น Carets หลายตัว, minimaps และ palletes คำสั่งมันดึงดูดชุมชนที่แข็งแกร่งและมีส่วนร่วม ข้อความประเสริฐสามารถขยายได้สูงดังนั้นอย่าลืมติดตั้งการควบคุมแพ็คเกจและสำรวจอาจเป็นหนึ่งในแคตตาล็อกที่ใหญ่ที่สุดของปลั๊กอิน! |
| คราส | GUI / ข้ามแพลตฟอร์ม | Eclipse เป็นอีกหนึ่ง IDE ที่ดีสำหรับ Java มันเป็นทางเลือกที่โอเคสำหรับ Intellij Idea บางครั้งการแข่งขันให้คราสด้วยเหตุผลบางอย่างเท่านั้นดังนั้นนี่อาจเป็นแรงจูงใจที่ดีในการลองและใช้คราส |
| คนขี้ขลาด | GUI / ข้ามแพลตฟอร์ม | Clion ผลิตโดย Jetbrains - บริษัท เดียวกันกับที่สร้าง Intellij Idea เป็น IDE ที่ทรงพลังสำหรับ C ++ มีใบอนุญาตการศึกษาฟรีหรือคุณสามารถลองใช้ EAP (โปรแกรมการเข้าถึงระยะแรก) ซึ่งยังคงฟรี ณ วันเมษายน 2018 คุณอาจต้องการปิดคุณสมบัติการตรวจสอบรหัสเนื่องจากจะทำให้เกิดความล่าช้าเล็กน้อย |
| ides อื่น ๆ | ผสมกัน | Visual Studio เป็น IDE ที่จะใช้ในกรณีที่คุณต้องการรหัสใน C# ... ทั้ง Atom และ Visual Studio Code ถูกสร้างขึ้นด้วยอิเล็กตรอน (เขียนด้วย JavaScript) และดังนั้นจึงค่อนข้างจะจัดหาทรัพยากร ... Codelite เป็น IDE ที่เพิ่มขึ้นใหม่ ระวังว่าเวลาในการโหลดและการสร้างโครงการสามารถพิเศษได้ |
การใช้ส่วนตัว
| ชื่อ | คำอธิบาย |
|---|
| Visualgo | เว็บไซต์ที่มีชุดเครื่องมือสร้างภาพรวมจำนวนมากสำหรับอัลกอริทึมและโครงสร้างข้อมูล |
| ผู้ช่วยการปฏิบัติทั่วไป: ... Chelper (Intellij Idea) (Manual) ... Caide (Visual Studio, Codelite, แอพสายคำสั่งแบบสแตนด์อโลน) ... Jhelper (AppCode, Clion) เครื่องมือผู้ตัดสินออนไลน์ | เครื่องมือที่ยอดเยี่ยมที่แยกวิเคราะห์การแข่งขันรหัสห้องสมุดแบบอินไลน์และให้กรอบการทดสอบ พวกเขาช่วยคุณไม่ให้ใช้เวลาอันมีค่าในการสลับหน้าต่างและคัดลอกกลับไปกลับมา |
| CodeForces Parsers: ... CodeForces Parser ... GOCF ... CFPARSER (EMACS) CFPARSER (CLI) | เครื่องมือเหล่านี้แยกวิเคราะห์ปัญหาการประกวด CodeForces และช่วยดำเนินการทดสอบตัวอย่าง |
| สารานุกรมออนไลน์ของลำดับจำนวนเต็ม (OEIS) | สารานุกรมที่น่าทึ่งพร้อมฐานข้อมูลลำดับจำนวนเต็มนับไม่ถ้วน นอกจากนี้ยังมีเครื่องมือค้นหาที่ทรงพลัง บางครั้งปัญหา combinatorics ที่ดูเหมือนยากอาจเทียบเท่ากับลำดับจำนวนเต็มที่เรียบง่ายหรือศึกษา |
| ไฮไลต์ไวยากรณ์: ... tohtml.com ... Markup.su ... hilite.me | มีประโยชน์มากสำหรับการสร้างสไลด์หรือสมุดบันทึกทีมด้วยตัวอย่างโค้ดที่สวยงาม เพียงคัดลอกตัวอย่างโค้ดที่ไฮไลต์และวางไว้ในโปรแกรมแก้ไข wysiwyg ที่คุณชื่นชอบ |
| การแบ่งปันรหัส: ... ideone.com ... pastebin.com ... Ubuntu Pastebin | เครื่องมือเหล่านี้สร้างหน้ากึ่งถาวรสำหรับการแบ่งปันรหัส มีประโยชน์มากโดยเฉพาะเมื่อคุณพยายามให้คนอื่นดูรหัสของคุณ |
| น่าจะเป็นไปได้ | คำสั่งบรรทัดคำสั่งง่ายๆสำหรับการให้คะแนนท้องถิ่น |
| Udebug | แพลตฟอร์มที่ให้ผลลัพธ์ที่คาดหวังสำหรับอินพุตที่ผู้ใช้ระบุไปยังปัญหาเกี่ยวกับผู้ตัดสินออนไลน์ UVA ปัญหาบางอย่างยังให้กรณีทดสอบเพิ่มเติมสำหรับการดีบัก |
เตรียมประกวด
| ชื่อ | คำอธิบาย |
|---|
| รูปหลายเหลี่ยม | รูปหลายเหลี่ยมจัดเตรียมแพลตฟอร์มและชุดเครื่องมือมากมายสำหรับการเตรียมการแข่งขันระดับมืออาชีพ ... ตัวอย่าง: ผู้ตรวจสอบด้วย testlib.h - codeforces |
| ตัวแก้ไขกราฟ | เครื่องมือที่ยอดเยี่ยมในการสร้างและแสดงภาพกราฟ |
| tcframe | กรอบ C ++ สำหรับการสร้างกรณีทดสอบของปัญหาการเขียนโปรแกรมที่แข่งขันได้ |
| ผู้พิพากษาเสมือน (Vjudge) | Virtual Judge (VJudge) อนุญาตให้ผู้ใช้สร้างการแข่งขันเสมือนจริงที่มีปัญหาจากเอกสารสำคัญที่มีปัญหา |
| ผู้พิพากษาออนไลน์ BNU | BNU Online Judge ยังอนุญาตให้ผู้ใช้สร้างการแข่งขันเสมือนจริง |
| Kattis | Kattis ช่วยในการเตรียมการแข่งขัน (ส่งอีเมลเพื่อขอความช่วยเหลือ) |
ชุมชน
พบกับโปรแกรมเมอร์ที่มีการแข่งขันสูง!
เรียนรู้เคล็ดลับการสอนและข้อมูลเชิงลึกที่เป็นประโยชน์จากคนเหล่านี้ :)
บล็อก
| ชื่อ (ด้ามจับ) | ชื่อบล็อก |
|---|
| CodeForces Blogs |
| Petr Mitrichev (PETR) | อัลกอริทึมทุกสัปดาห์ |
| Makoto Soejima (RNG_58) | บล็อกของ RNG_58 |
| Bruce Merry (Bmerry) | เอนโทรปีเพิ่มขึ้นเสมอ |
| przemysławdębiak (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) | บล็อกของ Morris (ภาษาจีน) |
| 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 |
| Hackerrank | YouTube |
| ideserve | YouTube |
| code_report | YouTube พร้อมการอัปเดตการประกวดและบทเรียนปัญหาของ HackerRank, LeetCode, TopCoder และ CodeForces |
| "sothe" อัลกอริทึมหมาป่า | YouTube |
| Egor Kulikov (Egor) | YouTube |
| Adam Bardashevich (สมาชิก) | YouTube |
| Bohdan Pryshchenko (i_love_tanya_romanova) | 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, บรรณาธิการ, การบรรยายแบบ Qualtiy สูง (หัวข้อขั้นสูง) |
| MyCodeschool | YouTube วิดีโอคุณภาพสูงเกี่ยวกับการเขียนโปรแกรมขั้นพื้นฐานโครงสร้างข้อมูลและอัลกอริทึม |
| William Lin (Tmwilliamlin168) | YouTube ส่วนใหญ่เป็นลำธารเคล็ดลับ แต่สร้างแรงบันดาลใจและบางครั้งก็ลึกซึ้ง |
| Codencode (Kazama460) | YouTube, การบรรยายสั้น ๆ ที่ครอบคลุมหัวข้อที่เกี่ยวข้องกับ CP ต่างๆเช่นทฤษฎีกราฟ, ทฤษฎีจำนวน, DP, โครงสร้างข้อมูลขั้นสูง |
| Colin Galen (Galen_Colin) | YouTube, บรรณาธิการ, screencasts |
| William Feset | YouTube วิดีโอคุณภาพสูงครอบคลุมโครงสร้างข้อมูลเกือบทั้งหมดอัลกอริทึม |
quora
เยี่ยมชมการเขียนโปรแกรมที่แข่งขันได้ - Quora (10 อันดับแรกของนักเขียนที่ดูมากที่สุด)
| ตัวเลขชุมชนสำคัญ | คำอธิบาย |
|---|
| กระเป๋าเงิน | ผู้อำนวยการบริหารของ ACM-ICPC ศาสตราจารย์ CS ที่มหาวิทยาลัยเบย์เลอร์ |
| Michal Forišek (MISCOF) | ผู้จัดงาน IPSC และ IOI ครู CS ที่ Comenius University ในสโลวาเกีย อัลกอริทึมและนักวิจัยการศึกษา CS อดีตโปรแกรมเมอร์ที่มีการแข่งขันสูง |
| Ahmed Aly (Ahmed_aly) | ผู้ก่อตั้ง A2OJ วิศวกรซอฟต์แวร์นำ Hackerrank อดีตสมาชิกของทีม Google Code Jam |
| โปรแกรมเมอร์ที่แข่งขันได้ | | |
|---|
| Thanh Trung Nguyen (i_love_hoang_yen) | Brian BI (BBI5291) | Jonathan Paulson (Jonathanpaulson) |
| Miguel Oliveira (Mogers) | Egor Suvorov (Yeputons) | Michal Danilák (Mimino) |
| Bohdan Pryshchenko (i_love_tanya_romanova) | Vladimir Novakovski (Vnovakovski) | Nick Wu (Xiaowuc1) |
| cosmin negruseri | Lalit Kundu (Darkshadows) | Ashish Kedia (Ashish1294) |
| Johnny Ho (สุ่ม Johnnyh) | Joshua Pan (Lonerz) | Anudeep Nekkanti (anudeep2011) |
| Steven Hao (stevenkplus) | Raziman TV (razimantv) | |
Other Awesome Resources
บทความ
Informative and helpful articles
| เรื่อง |
|---|
| Overview of Programming Contests, by Przemysław Dębiak (Psyho) |
| The 'science' of training in competitive programming - Codeforces, by Thanh Trung Nguyen (I_love_Hoang_Yen) |
| If you ask me how to improve your algorithm competition skill, I will give you the link of this blog. - Codeforces, by Huang I-Wen (dreamoon) |
| How to prepare for ACM - ICPC? - GeeksforGeeks, by Vishwesh Shrimali |
| Complete reference to competitive programming - HackerEarth, by Ravi Ojha |
| Getting started with the sport of competitive programming - HackerEarth, by Triveni Mahatha |
คำถามที่พบบ่อย
Fine answers to frequently-asked questions
| คำถาม |
|---|
| How do I start competitive programming? - Quora |
| How can I become good at competitive programming? - Quora ... What is the best strategy to improve my skills in competitive programming in 2-3 months? - Quora ... What is a good 6 month plan to start and progress through competitive programming? - Quora |
| How is competitive programming different from real-life programming? - Quora |
| What have you gained from competitive programming? - Quora |
Awesome Lists
Relevant awesome lists
| ชื่อ | การเชื่อมโยง |
|---|
| C++ Books | The Definitive C++ Book Guide and List - Stack Overflow |
| Java Books | What are the best books to learn Java? - Quora |
| Advanced Java Books | What is the best book for advanced Java programming? - Quora |
| อัลกอริทึม | tayllan/awesome-algorithms |
| Algorithm Visualization | enjalot/algovis |
| คณิตศาสตร์ | rossant/awesome-math |
| C ++ | fffaraz/awesome-cpp |
| ชวา | akullpp/awesome-java |
| Courses | 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.