2

Một số nguồn tài liệu hay về Lập trình thi đấu

đã đăng vào 2, Tháng 1, 2022, 17:05

Mở đầu

Đối với người học lập trình CP thì tài liệu là một thứ cực kì quan trọng. Trong bài viết này, mình xin được tổng hợp lại một số tài liệu đã hỗ trợ mình trong quá trình học và luyện thi VOI.

Website

Danh sách các website thuật toán mình thường tham khảo. Trong danh sách này chỉ có VNOI Wikikc97ble là các trang viết bằng tiếng Việt, các trang còn lại đều là tiếng Anh.

1. VNOI Wiki

Thư viện của VNOI, đây là nơi tổng hợp các bài viết về thuật toán bằng tiếng Việt có chất lượng cao với độ khó từ nhập môn đến IOI. Ngoài ra còn có các bài viết chia sẻ về quá trình học Tin và bí kíp thi Tin cực kì hữu ích cho các bạn luyện thi VOI.

2. kc97ble

Một nơi cực kì hữu ích để các bạn tham khảo code và các kiểu dữ liệu, phần lớn là code của anh Nguyễn Tiến Trung Kiên, HCB IOI 2015.

3. Codeforces Catalog

Tính năng mới của Codeforces, tổng hợp các bài viết bổ ích được đăng tải lên hệ thống trong nhiều năm qua. Các bài viết có chất lượng rất tốt và cực kì đa dạng, phù hợp với các bạn muốn tiến sâu trên con đường lập trình thi đấu.

4. CP Algorithm

Tổng hợp các thuật toán từ cơ bản đến nâng cao. Các bài viết trên trang này đều rất chi tiết, có những bài toán mở rộng từ thuật toán kinh điển, đi kèm với những bài tập áp dụng ở các trang Online Judge. Phù hợp cho việc học thuật toán mới.

5. USACO Guide

Trang hướng dẫn học Lập trình thi đấu của Mỹ. Bao gồm các bài viết được phân loại từ nhập môn đến nâng cao, kèm với đó là liên kết đến các bài tập ở những trang web khác.

6. GeeksforGeeks

Đây là nơi các anh dev Ấn Độ giải thích từ cơ bản tới nâng cao tất cả mọi thứ. Hầu như mọi bài toán kinh điển đều có thể tìm thấy ở đây.

Sách

Khi học lập trình thì ngoài những website thì sách cũng là một nguồn tài liệu cực kì quan trọng. Danh sách sau đây được mình copy từ VNOI Wiki và bổ sung một vài chỗ.

1. Giải thuật và lập trình - thầy Lê Minh Hoàng

Chắc hẳn những bạn học chuyên tin đều biết đến cuốn sách này, bởi nó như là một cuốn sách giáo khoa cho chuyên tin với các kiến thức cơ bản từ quay lui, sắp xếp đến quy hoạch động, đồ thị.

2. Tài liệu chuyên Tin

Về cơ bản, phần một và phần hai giống với giải thuật và lập trình, tuy nhiên được bổ sung thêm một số kiến thức như: số Catalan, xử lý số lớn bằng xâu,… Kèm theo đó là những bài tập vô cùng hấp dẫn để các bạn luyện tập.

Phần ba chứa các kiến thức nâng cao hơn, đó là hình học và lý thuyết trò chơi.

3. KC Book

Tài liệu tổng hợp các bài toán kèm lời giải theo mình nghĩ là khá hay và kinh điển.

4. Guide To Competitive Programming

Nếu bạn có thể đọc tiếng Anh trôi chảy, bạn có thể tham khảo quyển "Guide To Competitive Programming" được viết năm 2017. Sách sử dụng ngôn ngữ C++ và có nhiều kiến thức mới.

5. Một số vấn đề đáng chú ý trong môn tin học

Cuốn sách này được viết bởi các cựu học sinh trường chuyên Phan Bội Châu - Nghệ An. Nó chứa các kiến thức tuyệt hay mà tài liệu giáo khoa chuyên tin hay giải thuật và lập trình đều không có như: duyệt ưu tiên, thuật toán tìm kiếm chuỗi KMP, quy hoạch động trạng thái, quy hoạch động vị trí cấu hình, quy hoạch động trên cây, tô màu đồ thị, thuật toán Dijkstra với đỉnh ảo, Interval Tree, Binary Index Tree, …

6. Bản dịch Introduction to Algorithm

(Cảm ơn anh Nguyễn Văn Khởi đã chia sẻ link).

7. Competitive Programming

Là một quyển sách cực kì chi tiết về lý thuyết cũng như là bài tập; rất hữu ích cho các lập trình viên cần học thuật toán và cả những lập trình viên đi theo CP.

Lời kết

Trên đây là danh sách các nguồn tài liệu bổ ích về Thuật toán khá phổ biến trong cộng đồng học sinh ôn luyện HSG Tin học. Nếu có thiếu sót các bạn hãy góp ý hoặc bổ sung giúp mình ở phần bình luận nhé!


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.