Bỏ qua

Tài liệu học tập

Trang này chủ yếu liệt kê một số tài nguyên liên quan đến thi thuật toán: hệ thống chấm online, bộ đề, sách, công cụ, v.v.

Nền tảng chấm online

Nền tảng chấm online (tiếng Anh: Online Judging System, viết tắt: OJ) thường dùng để luyện bài, tham gia/ tổ chức thi, và giao lưu chia sẻ giữa người dùng.

Trong nước

  • 51Nod:có nhiều bài toán toán học và tư duy đáng thử.
  • Comet OJ:khởi đầu năm 2018, nhằm cung cấp một nền tảng thi đấu, luyện tập, giao lưu cho cộng đồng đam mê thuật toán; thường tổ chức các cuộc thi原创 chất lượng cao, kho đề phong phú.
  • HDU Online Judge khởi đầu năm 2005, hệ thống chấm online của Học viện Công nghệ Điện tử Hàng Châu, có đề luyện đa trường.
  • HydroOJ:khởi đầu năm 2021, là trang chính thức của dự án mã nguồn mở Hydro. Người dùng có thể tạo , trong đó có thể dùng ngân hàng đề, contest, thảo luận như ở trang chính.
  • Judge Duck Online dựa trên dự án mã nguồn mở JudgeDuck do 松松松 phát triển, có thể đo thời gian chạy chính xác đến micro giây. (đề ít)
  • LibreOJ:khởi đầu năm 2017. Dựa trên dự án mã nguồn mở Lyrio, Libre mang nghĩa “tự do”. Toàn bộ dữ liệu test và code nộp đều mở cho mọi người. Hiện do Menci维护.
  • CDOJ:hệ thống chấm online của ĐH Khoa học & Công nghệ Điện tử, khởi đầu năm 2012.
  • 洛谷:khởi đầu năm 2013, cộng đồng lớn, đề thật và bài tập OI khá đầy đủ. Có dịch vụ giáo dục trả phí.
  • 牛客网:khởi đầu năm 2014, cung cấp ôn luyện tuyển dụng kỹ thuật, cộng đồng, tuyển dụng doanh nghiệp.
  • OpenJudge:khởi đầu năm 2005, nền tảng chấm nhóm do đội POJ phát triển.
  • POJ:hệ thống chấm online của ĐH Bắc Kinh, khởi đầu năm 2003, một trong những OJ lâu đời nhất trong nước. Có nhiều đề tiếng Anh, cả cơ bản lẫn hay. Có thể nộp đề POJ tại 百练题库.
  • PTA(拼题 A):khởi đầu năm 2016, sản phẩm của Hangzhou Baiteng (từ ĐH Chiết Giang).
  • QOJ:thu thập nhiều đề OI/ICPC trong và ngoài nước, có giá trị luyện tập.
  • Universal Online Judge:khởi đầu năm 2014, Universal mang nghĩa “phổ quát”, dự án mã nguồn mở; OJ của VFK: nhiều contest原创 và đề CCF/THU, độ khó cao.
  • Vijos:khởi đầu năm 2005. Serverjudge đều mã nguồn mở.
  • WZOI:khởi đầu năm 2017, hệ thống chấm mã nguồn mở do THPT Ôn Châu (Chiết Giang)维护.
  • ZOJ:hệ thống chấm online của ĐH Chiết Giang, khởi đầu năm 2001.

Nước ngoài

  • AizuOJ:hệ thống chấm online của ĐH Aizu (Nhật), khởi đầu năm 2004. Có nhiều đề thi của THPT/ĐH Nhật, kèm khóa nhập môn lập trình/cấu trúc dữ liệu/thuật toán.
  • AtCoder:OJ Nhật, phiên bản tiếng Nhật có các contest của ĐH Nhật mà bản tiếng Anh không hiển thị. Đề thú vị, chất lượng cao.
  • CodeChef:OJ Ấn Độ, tổ chức contest định kỳ. Hệ thống dựa trên Sphere Engine của SPOJ.
  • Codeforces:OJ Nga, khởi đầu năm 2010, sáng lập bởi Mike Mirzayanov. Có nhiều series contest, hỗ trợ ra đề cá nhân/đăng ký tổ chức contest. Đề chất lượng cao.
  • CSES(Code Submission Evaluation System),题库按专题分类,旨在成为综合高质量题库,主要由 Competitive Programmer’s Handbook 作者 Antti Laaksonen 开发,始于 2013 年.
  • CS Academy
  • DMOJ OJ mã nguồn mở của Canada, hỗ trợ nhiều ngôn ngữ; đề là archive các contest lớn và contest tự tổ chức định kỳ.
  • HackerRank có nhiều contest
  • Kattis kho đề chủ yếu kiểu ICPC; đánh giá mức người dùng theo kết quả và gợi ý đề trivial/easy/medium/hard, độ khó dựa trên hệ ELO 等级分.
  • LeetCode trang luyện phỏng vấn, có bản tiếng Trung: LeetCode China.
  • Light OJ
  • Open Trains nền tảng luyện Open Cup (Nga), dựa trên hệ thống mã nguồn mở ejudge, hỗ trợ contest ảo; đề gồm Open Cup các năm và đề trại Petrozavodsk.
  • SPOJ khởi đầu năm 2003, backend Sphere Engine thương mại hóa năm 2008; hỗ trợ like và tag đề.
  • TopCoder khởi đầu năm 2001, cộng đồng lập trình thi đấu có nhiều contest; hiện chủ yếu làm crowdsourcing kỹ thuật.
  • TimusOJ khởi đầu năm 2000, do Ural Federal University phát triển, kho đề lớn nhất Nga; đề từ các contest nội bộ, Ural Championship, ICPC Ural, và trại Petrozavodsk.
  • Online Judge(trước đây UVaOJ)khởi đầu năm 1995, OJ quốc tế nổi tiếng sớm nhất, sáng lập bởi GS Miguel Ángel Revilla (ĐH Valladolid, Tây Ban Nha); do GS Revilla mất năm 2018 và ĐH Valladolid ngừng维护, UVaOJ đổi tên thành Online Judge từ 7/2019. Hiện nền tảng này đang xây dựng hệ thống mới trên GitHub.
  • Yandex lưu trữ đề OI Nga các năm gần đây.

Tài liệu hướng dẫn

Sách

Danh sách ghi tác giả, không ghi dịch giả. Vì dễ tìm và không trùng tên nên không ghi ISBN.

  • Loạt sách của 刘汝佳
  • 《算法竞赛进阶指南》- 李煜东
  • 《啊哈算法》- 纪磊
    • Dành cho người mới hoặc mới quan tâm, có minh họa hài hước.
  • Loạt CCF 中学生计算机程序设计
    • 《CCF 中学生计算机程序设计 - 入门篇》- 陈颖,邱桂香,朱全民
    • 《CCF 中学生计算机程序设计 - 基础篇》- 江涛,宋新波,朱全民
    • 《CCF 中学生计算机程序设计 - 提高篇》- 徐先友,朱全民
    • 《CCF 中学生计算机程序设计 - 专业篇》(chưa xuất bản)
  • Loạt “深入浅出”
    • 《深入浅出程序设计竞赛 - 基础篇》- nhóm nghiên cứu giáo trình Luogu
  • Loạt “一本通”
    • 《信息学奥赛一本通》- 董永建
    • 《信息学奥赛一本通 - 提高篇》- 黄新军,董永建
    • 《信息学奥赛一本通 - 高手训练》- 黄新军,董永建
  • Các教材 khác do HLV OI nổi tiếng trong nước viết
    • 《信息学奥赛课课通》- 林厚从
    • 《聪明人的游戏:信息学探秘 - 提高篇》- 江涛,陈茂贤
    • 《计算概论:C++ 编程与信息学竞赛入门》- 金靖
    • 《算法竞赛宝典》- 张新华
  • Loạt ACM quốc tế
    • 《ACM 国际大学生程序设计竞赛系列 知识与入门》- 俞勇
    • 《ACM 国际大学生程序设计竞赛系列 算法与实现》- 俞勇
    • 《ACM 国际大学生程序设计竞赛系列 题目与解读》- 俞勇
  • 《算法竞赛入门到进阶》- 罗勇军,郭卫斌
  • 《算法导论》第三版 - Thomas H.Cormen/Charles E.Leiserson/Ronald L.Rivest/Clifford Stein
    Sách đen, giáo trình kinh điển đại học. Tên gốc Introduction to Algorithms
  • 《具体数学》第二版 - Ronald L. Graham/Donald E. Knuth/Oren Patashnik
    Tên gốc Concrete Mathematics
  • 《组合数学》第五版 - Richard A.Brualdi
    Tên gốc Introductory Combinatorics
  • 《挑战程序设计竞赛》全套 - 秋叶拓哉,岩田阳一,北川宜稔 Dễ hiểu.
  • 《算法概论》- Sanjoy Dasgupta/Christos Papadimitriou/Umesh Vazirani
    • Khái quát trọng tâm nhưng nội dung ít.
  • Ghi chép CTDL&TT của Legend-K
  • acm-cheat-sheet
  • Competitive Programmer’s Handbook- Antti Laaksonen
    • Tác giả dành 3 năm cá nhân hoàn thành. Hướng tới CP, bao quát rộng, cân đối mức chi tiết.
  • 《挑战编程:程序设计竞赛训练手册》- Steven S. Skiena/Miguel A. Revilla
  • 《C++,挑战编程——程序设计竞赛进阶训练指南》- 邱秋
  • 《数据结构(C++ 语言版 第 3 版)》- 邓俊辉
    • Nên dùng kèm khóa học, slide và lời giải bài tập.
  • 《计算几何:算法与应用》- 伯格(Berg,M.D.)著,邓俊辉 译
    Tên gốc Computational Geometry: Algorithms and Applications
  • 《Handbook of Data Structures and Applications, 2nd Edition》
    • Nhiều giáo sư nổi tiếng đồng tác giả (Sartaj Sahni, Hanan Samet, Weiss...), nội dung nhiều, phù hợp người có nền tảng CTDL.
  • 系列《算法详解》
    • Dành cho người đã có nền tảng ngôn ngữ, khuyến nghị học kèm khóa.
    • 《Algorithms Illuminated, Part 1: The Basics》- Tim Roughgarden
    • 《算法详解,卷 1:算法基础》- 徐波 译
    • 《Algorithms Illuminated, Part 2: Graph Algorithms and Data Structures》- Tim Roughgarden
    • 《算法详解,卷 2:图算法和数据结构》- 徐波 译
    • 《Algorithms Illuminated, Part 3: Greedy Algorithms and Dynamic Programming》- Tim Roughgarden
    • 《Algorithms Illuminated, Part 4: Algorithms for NP-Hard Problems》- Tim Roughgarden

Khóa học

Công cụ

Bộ đề và tài nguyên