Nguồn tài liệu tham khảo thêm
Các bạn có thể học
- C++ căn bản ở đây
https://codelearn.io/learning/cpp-cho-nguoi-moi-bat-dau
- C++ nâng cao (nên nắm rõ lý thuyết khoá này)
https://codelearn.io/learning/cpp-nang-cao
- Các cấu trúc dữ liệu trong thư viện chuẩn C++ (nên học
khoá này, có
thuật toán mà không biết xài cấu trúc dữ liệu có sẵn
thì phế mất một
nửa) https://codelearn.io/learning/thu-vien-chuan-cpp
- https://vnoi.info/wiki/Home , nên học hết các bài
1*, 2* một vài bài
3*
- https://codeforces.com/edu/course/2, nên học khoá
binary search và
twopointer
- https://usaco.guide/, một trang rất hay, nên học các
khoá như
general, bronze, silver
Làm bài tập
- Tiếng việt :
- https://codelearn.io/
- https://oj.vnoi.info/
- https://lqdoj.edu.vn/
- Tiếng anh
- https://cses.fi/ một trang chứa các bài cổ điển của
mỗi bài
- https://codeforces.com/problemset (nếu mới bắt đầu
thì nên
sắp xếp theo rating tăng dần hoặc số người làm được giảm
dần)
- https://atcoder.jp/ , bài tập khá đơn giản, luyện tốc
độ code
(https://kenkoooo.com/atcoder/#/table/ một trang web hỗ
trợ
cho việc làm
bài trên atcoder)
-
https://www.spoj.com/
(https://earthshakira.github.io/a2oj-clientside/server/Categories
.html một trang web hỗ trợ cho việc làm bài trên spoj,
trong
này còn có bài
trên codeforces nữa)
Đầu tiên thì các bạn phải nắm vững kiến thức cơ bản của
C++ như vòng
lặp, hàm, biến, khoảng giá trị, v.v
Nếu bạn nào vững phần này rồi thì có thể sang học cách
xử dụng các cấu
trúc dữ liệu trong thư viện chuản C++ như (vector,
map, set, multiset,
bitset, v.v) học cách xử dụng các hàm của nó cho nhuần
nhuyễn.
Học các hàm trong thư viện algorithm như sort,
reverse, find,
binary_search, lower_bound, upper_bound, v.v
Tiếp theo có thể học các dạng bài căn bản như
binarysearch, twopointer, sort, counting, dfs, bfs, bitmask.