1. Các trang web luyện tập & thi trực tuyến
- Vjudge - Là trang thi trực tuyến với khả năng mashup các bài tập từ các trang giải bài trực tuyến khác nhau.
- SPOJ (Tiếng Việt - VOJ / VNOI , Toàn cầu) - Là trang giải bài trực tuyến thần thánh mà bất cứ bạn HS chuyên Tin nào cũng phải biết. Trang web này chứa rất nhiều các bài tập từ nhiều nguồn khác nhau (trong đó có các bài từ các kì thi HSG Quốc gia năm trước) cho các bạn luyện tập. Rất nhiều huyền thoại trong làng CP Việt Nam ra đời từ đây.
- Free Contest - Là trang contest online miễn phí được lập ra bởi anh Nguyễn Tiến Trung Kiên, các kì thi được tổ chức 2 tuần/lần cho các bạn học sinh, sinh viên.
- Codeforces - Cũng là một trang giải bài trực tuyến mà bất cứ bạn HS chuyên Tin nào cũng phải biết. Trang web này tập trung rất nhiều kì thi, bài tập chất lượng được tổ chức 2 hoặc 3 tuần một lần và đều có lời giải sau mỗi kì thi. Codeforces cũng là một diễn đàn về thuật toán và có rất nhiều các bài viết hay và là một cộng đồng lớn về lập trình thi đấu trên thế giới.
- Topcoder - Tương tự Codeforces, Topcoder cũng là một trang thi trực tuyến lớn với rất nhiều bài tập hay, khó và các kì SRM (Single Round Match) cho các bạn luyện tập.
- HackerRank - Trang web này là một nền tảng lập trình thi đấu hướng đến người dùng thông thường và các doanh nghiệp. Các bài tập ở đây đề cập đến nhiều vấn đề về Khoa học máy tính và trên các ngôn ngữ lập trình khác nhau.
- Kattis - Là trang thi trực tuyến với nguồn bài từ các kì ACM-ICPC của các nước và ICPC World Final.
- USACO - Trang thi trực tuyến của Mỹ, với các bài tập liên quan đến cô bò BeSsiE :)))
- COCI - Trang thi trực tuyến mở của Croatia.
- UVa - Là một trang giải bài trực tuyến lâu đời. Các bạn nên sử dụng chúng với trang [UHunt] (http://uhunt.onlinejudge.org/) cùng với quyển Competitive Programming, 3rd Edition để luyện tập.
- Timus - Là trang web giải bài trực tuyến lâu đời của Nga, gồm các bài tập từ các cuộc thi của Đại học Liên bang Ural như Ural Championships, Ural ACM ICPC Subregional Contests, và Petrozavodsk Training Camps.
- POJ - Là trang giải bài trực tuyến của Đại học Bắc Kinh (Trung Quốc) với nhiều bài tập hay. Đây là nơi bắt đầu của rất nhiều huyền thoại về CP Trung Quốc.
- SZKOpul - Là trang giải bài tực tuyến của Ba Lan.
2. Các trang web / blog hay về Thuật toán
- VNOI Wiki - Là một trong những nguồn tài liệu về CS/CP đầy đủ nhất của Việt Nam.
- #Team4T’s Coding Site - Trang thuật toán của #Team4T: Trần Thị Thùy Trang, Ngô Thị Ngọc Mai và Lê Duy Bách.
- Giải Thuật Lập Trình - Blog về thuật toán của anh Hùng Lê, ĐH Victoria.
- E-Maxx (RU) - Trang chuyên về thuật toán (Bằng tiếng Nga) (Các bạn có thể google dịch =)) ).
- E-Maxx (EN) - Phiên bản tiếng Anh của E-Maxx.
- Topcoder Data Science Tutorial - Series các bài viết về các thuật toán và CP.
- GeeksforGeeks - Một trang về lập trình thi đấu nổi tiếng, là nguồn tài nguyên dồi dào về thuật toán.
- PEG-Wiki - Trang web tựa-wiki về khá nhiều chủ đề của Woburn C.I. Programming Enrichment Group (WCIPEG).
- Competitive Programming: From Beginner to Expert - CommonLounge
- Algorithm Notes - Trang web về thuật toán nổi tiếng trong cộng đồng CP Đài Loan (Bằng tiếng Trung) - Một lần nữa các bạn hãy Google dịch =))).
- CodeBabe - À cái này thì…….. ( ͡° ͜ʖ ͡°)
tự google đi bạn
2.5. Các blog entries hay trên Codeforces về thuật toán
- Codeforces - An awesome list for competitive programming! - Blog entry của Codeforces-er lnishan, là một trong những nguồn tài nguyên về thuật toán đầy đủ nhất và cũng là một trong những nguồn để mình tạo nên thứ này =))).
- All of the good tutorials found on codeforces - Blog entry của Codeforces-er Underdog_eagle - là danh sách các bài hướng dẫn hay trên Codeforces.
- Good Blog Post Resources about Algorithm and Data Structures - Blog entry của Codeforces-er Akin - là danh sách các bài viết về các thuật toán và CTDL trên Codeforces.
3. Các trang web về thư viện code và phần cái đặt các thuật toán và các cấu trúc dữ liệu
- kc97ble - Trang này chứa phần cài đặt của các thuật toán thông dụng được lập nên bởi anh Nguyễn Tiến Trung Kiên.
- ACM_Notebook_new - Team notebook của đội RRWatameda (Nguyễn Thành Trung(I_love_Hoang_Yen), Nguyên Nguyễn(flashmt) và Nguyễn Hùng Tâm) từ Đại học Quốc gia Singapore cho ACM-ICPC World Final 2016.
- duc0/ContestNeko - Thư viện của anh Ngô Minh Đức, PTNK (?).
- CodeLibrary - Thư viện về thuật toán và CTDL của Andrey Naumenko (indy256), được viết bằng C++ và Java. Xem qua Git Repository của anh ấy tại đây.
- KATCL - KTH Algorithm Competition Template Library - Team notebook Đội tuyển ICPC của Viện Công nghệ Hoàng gia KTH, Stockholm, Thụy Điển. Các thuật toán được cài đặt đầy đủ và đã qua kiểm thử.
- Stanford ACM-ICPC - Team notebook Đội tuyển ICPC của Đại học Stanford.
- Heavy-light decomposition implementation - Một cách cài đặt hay cho phương pháp Heavy-Light Decomposition của Codeforces-er AI.Cash.
4. Các trang web về lời giải của một số bài tập trên các nền tảng giải bài trực tuyến
- VNOI - Trang web này ban đầu là diễn đàn CP Việt Nam, nhưng bây giờ phần diễn đàn đã chuyển sang nhóm Facebook VNOI và trang web này bây giờ lưu trữ đề bài và một số lời giải cho khoảng hơn 500 bài tập trên VNOI (SPOJ Việt Nam).
- Trái táo đỏ - Blog của bạn Nguyễn Lê Duy.
- Doraemonvodanh - Blog của một bạn nào đó cũng về thuật toán.
- VietCodes - Ngoài các lời giải và code mẫu cho các bài tập thì trang này còn có các bài viết về các thuật toán thông dụng và cách cài đặt bằng C++, Python 3 và Rust.
- Cowboy Coder - Trang này không chỉ cung cấp những lời giải về các bài tập hay và khó trên mạng mà còn có các series về kiến thức lập trình và những kinh nghiệm trong nghề.
5. Về các thủ thuật liên quan đến ngôn ngữ lập trình
- C++ Tricks - Blog entry của Codeforces-er Swift về các thủ thuật với C++ trong lập trình thi đấu.
- C++ STL: Policy based data structures - Part 1, Part 2 - Blog entry của Codeforces-er adamant về cấu trúc dữ liệu tùy chỉnh cài sẵn trong C++, đặc biệt là Trie và Ordered Set.
6. Các công cụ hữu ích cho các bạn
- VisuAlgo - Công cụ giúp mô phỏng các thuật toán và các cấu trúc dữ liệu thông qua hoạt ảnh.
- String Matching Visualization - Mô phỏng một số thuật toán so khớp chuỗi nổi tiếng.
- Graph Editor - CSAcademy - Một công cụ của CSAcademy hỗ trợ cho việc vẽ đồ thị.
-
[Wolfram Alpha](https://wolframalpha.com) - Bộ công cụ xử lý ngôn ngữ tự nhiên, khảo sát hàm số….. - HackerRank Contest Calendar - Lịch các kì thi đã, đang, sẽ diễn ra trên tất cả các nền tảng thi lập trình trực tuyến.
- Spotify - Để nghe nhạc thôi 😂
7. Phần mềm và web interfaces
- Themis - Chương trình chấm bài tự động, được build bới thầy Lê Minh Hoàng và thầy Đỗ Đức Đông.
- Themis Interface 1 - Giao diện website chấm bài online trực tuyến sử dụng Themis viết bởi thầy Nguyễn Hoàng Phú (THPT chuyên Lý Tự Trọng, Cần Thơ), bổ sung bảng điểm của thầy Nguyễn Văn Hiếu (THPT chuyên Hưng Yên). Có thể sử dụng cho Windows 32 và 64 bit, song giao diện không đẹp như phiên bản TWI của anh Phạm Cao Nguyên.
- Themis Interface 2 - Natsu Kagami - Giao diện website chấm bài online trực tuyến sử dụng Themis viết bởi anh Phạm Cao Nguyên. Chỉ sử dụng cho phiên bản Windows 64 bit.
(còn tiếp, chưa hết đâu :wink:)