FPTOJ WIKI
Initializing search
FPTOJ-OJ/fptoj_wiki
FPTOJ WIKI
FPTOJ-OJ/fptoj_wiki
Trang chủ
Trang chủ
Home
Giới thiệu
Bài Học
Bài Học
Tổng hợp bài học
Danh sách bài tập FPTOJ
Lộ trình học
⭐ Nhóm 1 — Nhập môn
⭐ Nhóm 1 — Nhập môn
Setup môi trường thi đấu
Độ phức tạp thời gian
Thuật toán sắp xếp
Tìm kiếm nhị phân
Phép toán bit
Fun with Bits
Đệ quy và quay lui
⭐⭐ Nhóm 2 — Kỹ thuật cơ bản
⭐⭐ Nhóm 2 — Kỹ thuật cơ bản
Kĩ thuật hai con trỏ
Mảng, Stack, Prefix Sum
Lũy thừa nhị phân & Sàng nguyên tố
Chia đôi tập (Meet in the Middle)
Rời rạc hoá (Nén số)
⭐⭐ Nhóm 3 — Cấu trúc dữ liệu cơ bản
⭐⭐ Nhóm 3 — Cấu trúc dữ liệu cơ bản
Linked List chi tiết
Queue cơ bản
Hash Table
Heap (Hàng đợi ưu tiên)
DSU (Gộp tập hợp)
DSU Rollback
Deque & Sliding Window
Trie
Segment Tree (Cây phân đoạn)
Cải tiến Segment Tree (Lazy Propagation)
Fenwick Tree (BIT)
BIT 2D (Fenwick Tree 2D)
Sparse Table (RMQ)
Persistent Segment Tree
Skip List
Nhảy nhị phân với bộ nhớ O(n)
Static Wavelet Tree
Interval Tree
⭐⭐⭐ Nhóm 4 — Thuật toán đồ thị
⭐⭐⭐ Nhóm 4 — Thuật toán đồ thị
BFS/DFS trên đồ thị
BFS 0-1
MST, Dijkstra, Topo Sort
Floyd-Warshall & Bellman-Ford
SPFA
Đường đi - Chu trình Euler
LCA & Binary Lifting
⭐⭐⭐ Nhóm 5 — Quy hoạch động & Tham lam
⭐⭐⭐ Nhóm 5 — Quy hoạch động & Tham lam
Greedy
Matroid
Quy hoạch động
Quy hoạch động Bitmask
Quy hoạch động trên DAG
Binary Search on Answer
⭐⭐⭐ Nhóm 6 — Xử lý xâu
⭐⭐⭐ Nhóm 6 — Xử lý xâu
Xâu ký tự cơ bản
KMP - Tìm xâu
Hash xâu & Z-algorithm
Manacher
Suffix Array
Palindrome Tree (Eertree)
⭐⭐⭐ Nhóm 7 — Toán & Số học
⭐⭐⭐ Nhóm 7 — Toán & Số học
Euclid & Modular Inverse
Tổ hợp & Xác suất
Số học nâng cao
Hàm Phi Euler & Hàm Nhân Tính
Định lý Wilson & Lucas
Định lý Thặng dư Trung Hoa (CRT)
Hàm Mobius & Hàm Nhân Tính
Giai thừa mod & Căn bậc 2 mod
Lý thuyết trò chơi
Sàng nâng cao & Hàm ước
Nguyên lý bao hàm - loại trừ
Đếm đường đi trên lưới
Nhân ma trận & Lũy thừa ma trận
Logarithm rời rạc (BSGS)
Căn nguyên thủy & Dấu hiệu bình phương
NTT & Nhân đa thức
Khử Gauss & Đại số tuyến tính
⭐⭐⭐⭐ Nhóm 8 — Hình học
⭐⭐⭐⭐ Nhóm 8 — Hình học
Hình học cơ bản
Phương trình đường thẳng & Giao điểm
Hình học đường tròn
Định lý Pick & Đếm điểm nguyên
Góc & Phép quay
Sắp xếp cực & Quét góc
Bao lồi
Thuật toán đường quét (Sweep Line)
Stack nâng cao
Binary Search Tree (BST)
🏆 Kỹ năng thi đấu
🏆 Kỹ năng thi đấu
Kỹ năng thi đấu
Sinh testcase & Stress test
Debug & Mẹo thi đấu
Tổ chức code & Nộp bài
⭐⭐⭐⭐ Nhóm 10 — Đồ thị nâng cao
⭐⭐⭐⭐ Nhóm 10 — Đồ thị nâng cao
SCC & Cầu & Khớp
Network Flow (Luồng cực đại)
Bipartite Matching & Hungarian
2-SAT
⭐⭐⭐⭐ Nhóm 11 — Cây nâng cao
⭐⭐⭐⭐ Nhóm 11 — Cây nâng cao
Euler Tour trên cây
Centroid Decomposition
Heavy-Light Decomposition
Bài toán Lubenica - RMQ trên cây
⭐⭐⭐⭐ Nhóm 12 — Quy hoạch động nâng cao
⭐⭐⭐⭐ Nhóm 12 — Quy hoạch động nâng cao
DP trên cây
Digit DP
Interval DP
Tối ưu DP (Knuth, D&C, CHT)
Quy hoạch động SOS
Kĩ thuật Bao lồi trong QHĐ
Tối ưu DP 1 chiều (1D1D)
⭐⭐⭐⭐ Nhóm 13 — Xâu nâng cao
⭐⭐⭐⭐ Nhóm 13 — Xâu nâng cao
Aho-Corasick
Suffix Automaton
⭐⭐⭐⭐ Nhóm 14 — Kỹ thuật nâng cao
⭐⭐⭐⭐ Nhóm 14 — Kỹ thuật nâng cao
Chia căn & Mo's Algorithm
Convex Hull Trick & Li Chao Tree
Ternary Search
Giải thuật cắt tỉa Alpha-Beta
Local Search
Thuật Toán
Thuật Toán
Cơ Bản
Cơ Bản
Đệ quy và Thuật toán quay lui
Thuật toán tìm kiếm nhị phân
Phép toán bit
Độ phức tạp thời gian
Tôi đã học tin học như thế nào? Phần 2: bắt đầu từ đâu
Meet In The Middle (MITM)
Thuật toán sắp xếp
Kĩ thuật hai con trỏ
Đại Số
Đại Số
Lũy thừa nhị phân
Thuật toán Euclid
Biến đổi Fourier nhanh - Fast Fourier transform
Cách tính số tổ hợp
Kiểm tra số nguyên tố
Sàng nguyên tố
Cấu trúc dữ liệu
Cấu trúc dữ liệu
Cấu trúc của cây Palindrome
Tổng quan về Cấu Trúc Dữ Liệu
Hàng đợi hai đầu (deque) và Bài toán tìm max-min trong đoạn tịnh tiến
Disjoint Set Union
Cây chỉ số nhị phân 2 chiều (BIT 2 chiều)
Cây chỉ số nhị phân (Binary Indexed Tree)
Heavy-Light Decomposition (HLD)
Interval Tree trên tập đoạn thẳng
Lowest Common Ancestor (LCA) - Binary Lifting
Chia căn (sqrt decomposition) và ứng dụng: Phần 2
Persistent Data Structures
Mảng cộng dồn và mảng hiệu
Range Minimum Query (RMQ) - Sparse Table
Cây Phân Đoạn (cơ bản)
Tất tần tật về Cây Phân Đoạn (Segment Tree)
Chia căn (sqrt decomposition) và ứng dụng: Phần 1
Stack (ngăn xếp)
Suffix Automaton
Trie
Quy hoạch động
Quy hoạch động
Quy hoạch động cơ bản (Phần 1)
Quy hoạch động cơ bản (Phần 2)
Một số kĩ thuật tối ưu hoá thuật toán Quy Hoạch Động
Hình học
Hình học
Hình học tính toán phần 1: Những khái niệm cơ bản
Hình học tính toán phần 2: Sự giao nhau của đường thẳng và các ứng dụng
Thuật toán đường quét
Lý thuyết Đồ Thị
Lý thuyết Đồ Thị
BFS (Breadth-first search)
Thuật toán phân tách trọng tâm - Centroid decomposition
Cây DFS (Depth-First Search Tree) và ứng dụng
Đường đi - Chu trình Euler
Đường đi Euler trên cây
Bài toán Luồng cực đại trên mạng
Bài toán tìm cây khung nhỏ nhất trong đồ thị
Các thuật toán về tìm đường đi ngắn nhất
Sắp xếp Tô-pô (Topological Sort)
Toán
Toán
Lý thuyết trò chơi
Hàm Mobius
Số học 4.5 - Nghịch đảo modulo
Hàm nhân tính
Kỹ Năng Thi
Kỹ Năng Thi
Tổng hợp các lời khuyên cho các kỳ thi
Kinh nghiệm thi VOI
Tự code, tự chấm, tự sướng - Bí kíp thi offline
Xâu kí tự
Xâu kí tự
Xử lý xâu
Hash: A String Matching Algorithm
Thuật toán KMP
Thuật toán Manacher
Z-function
Mẹo
Mẹo
Phỏng Vấn Team IOI VN 2017
Sum-constrained convex optimization
Khử nhân ma trận
FFT
Nhân ma trận (Matrix multiplication)
Meet In The Middle (MITM)
Rời rạc hoá và ứng dụng
Lập Trình Cơ Bản
Lập Trình Cơ Bản
Tổng quan
🐍 Chương 1 — Python cho Thi Đấu
🐍 Chương 1 — Python cho Thi Đấu
Tổng quan
Phần A — Cơ bản
Phần A — Cơ bản
P01: Cài đặt & Hello World
P02: Biến & Kiểu dữ liệu
P03: Nhập/Xuất dữ liệu
P04: Toán tử & Biểu thức
P05: Câu lệnh điều kiện
P06: Vòng lặp — Cơ bản
P07: Vòng lặp — Nâng cao
P08: String (Xâu ký tự)
Phần B — Cấu trúc dữ liệu
Phần B — Cấu trúc dữ liệu
P09: List & Array 1D
P10: Array 2D & Matrix
P11: Dict & Set
P12: Tuple
P13: Hàm (Function)
Phần C — Thư viện thi đấu
Phần C — Thư viện thi đấu
P14: collections
P15: heapq
P16: itertools
P17: bisect
P18: math & Các hàm built-in
Phần D — Tổng hợp
Phần D — Tổng hợp
P19: Kỹ thuật thi đấu Python
P20: Bài tập tổng hợp
⚡ Chương 2 — C++ cho Thi Đấu
⚡ Chương 2 — C++ cho Thi Đấu
Tổng quan
Phần A — Cơ bản
Phần A — Cơ bản
C01: Tại sao C++?
C02: Cú pháp cơ bản
C03: Điều kiện & Vòng lặp
C04: Mảng & Vector
C05: String
Phần B — Kỹ thuật
Phần B — Kỹ thuật
C06: Hàm trong C++
C07: Template & Fast I/O
C08: Reference & Pointer
Phần C — STL Cơ bản
Phần C — STL Cơ bản
C09: pair & tuple
C10: Vector nâng cao
C11: sort &
Phần D — STL Nâng cao
Phần D — STL Nâng cao
C12: set & map
C13: queue, stack, deque
C14:
nâng cao
C15: Mẹo thi đấu C++
Phần E — Tổng hợp & Nâng cao
Phần E — Tổng hợp & Nâng cao
C16: Bài tập tổng hợp
C17: Thuật toán STL & Số học
C18: Xử lý xâu nâng cao
C19: Matrix & Grid Pattern
C20: Lambda & Iterator
C21: Tham chiếu nhanh (memset, scanf, tips)
C22: Struct & Operator Overloading
Ngôn Ngữ Lập Trình
Ngôn Ngữ Lập Trình
Con trỏ trong C/C++
Xâu trong C++
Dịch Thuật
Dịch Thuật
Codeforces
Codeforces
Cài đặt cây phân đoạn hiệu quả (Efficient and easy segment trees)
Bảng băm (Hash Tables)
Palindrome tree
Queue & Stack
Z Algorithm
E-Maxx
E-Maxx
Tìm kiếm tam phân - Ternary Search
Nâng Cao
Nâng Cao
Định lý Lucas
Số học 2 - Số nguyên tố, Sàng Eratosthenes
Số học 3 - Tính (a^b) % c
Số học 4 - Phi hàm Euler
Số học 7 - Bao hàm - Loại trừ (Inclusion-Exclusion)
Số học 1 - Modulo & gcd
Định lý Wilson
Quora
Quora
Hàm Mobius
Topcoder
Topcoder
Độ phức tạp tính toán
Độ phức tạp tính toán - phần 2
Nhập môn Quy hoạch động
Fun with Bits
Thuật toán Tham lam
Xác suất
Nghệ thuật giải bài
Toán học trong Tin học
Luồng cực đại trên mạng - Maxflow network
Bài toán RMQ và bài toán LCA
USACO
USACO
Viết lời giải chiến thắng trong kì thi
Wcipeg
Wcipeg
Binary Heap
Kĩ thuật bao lồi (Convex Hull Trick)
Bao lồi (Convex Hull)
Bài toán luồng cực đại
Thuật toán Knuth-Morris-Pratt (KMP)
Cây (Tree)
Sách
Sách
Hướng dẫn Lập trình Thi đấu (Guide to Competitive Programming)
404 - Not found