├── .DS_Store
├── Các thuật toán sắp xếp
└── README.md
├── Các thuật toán tìm kiếm
└── README.md
├── Cấu trúc dữ liệu
└── README.md
├── Kỹ thuật lập trình
└── README.md
├── Nhập môn
└── README.md
├── Quy hoạch động
└── README.md
├── README.md
├── Range Queries
└── README.md
├── Tham lam
└── README.md
├── Thiết kế giải thuật
└── README.md
├── Toán học trong lập trình thi đấu
└── README.md
└── media
├── chrome_logo.png
└── screenshot.jpeg
/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tmsanghoclaptrinh/tmsang-hoc-thuat-toan/56737c0c833c65c4309da7c55f07ae3db41a31c5/.DS_Store
--------------------------------------------------------------------------------
/Các thuật toán sắp xếp/README.md:
--------------------------------------------------------------------------------
1 | # [Tờ Mờ Sáng học Thuật toán và Lập trình thi đấu](/README.md)
2 |
3 | # Các thuật toán sắp xếp
4 |
5 | > Tổng hợp danh sách những tài liệu hay và bổ ích về **Thuật toán và Lập trình thi đấu**
6 | >
7 | > Người tổng hợp: **[Trần Minh Sáng](https://www.facebook.com/sangtran.04/)**
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | ### Series video "Lên trình Thuật toán - Lập trình thi đấu":
25 |
26 | [](https://www.youtube.com/watch?v=AgwnOQbJVvU&list=PLqfkD788zZGCjhbJsmyhInVAhHBSV8Gqg&index=1)
27 |
28 | ## Cài đặt extension [Random Algorithm Topics](https://chromewebstore.google.com/detail/random-algorithm-topics/cfbnefdpfhohjhehglbjkchobnaknbkm) trên Google Chrome để học ngẫu nhiên một chủ đề trong danh sách mỗi khi mở 1 tab mới trên trình duyệt
29 |
30 |
[Install on Google Chrome](https://chromewebstore.google.com/detail/random-algorithm-topics/cfbnefdpfhohjhehglbjkchobnaknbkm)
31 |
32 |
33 |
34 | ## Nội dung chính của phần "Các thuật toán sắp xếp"
35 |
36 | - [Sắp xếp nổi bọt (Bubble sort)](#sắp-xếp-nổi-bọt-bubble-sort)
37 | - [Sắp xếp chèn (Insertion sort)](#sắp-xếp-chèn-insertion-sort)
38 | - [Sắp xếp trộn (Merge sort)](#sắp-xếp-trộn-merge-sort)
39 | - [Sắp xếp chọn (Selection sort)](#sắp-xếp-chọn-selection-sort)
40 | - [Sắp xếp vun đống (Heap sort)](#sắp-xếp-vun-đống-heap-sort)
41 | - [Sắp xếp nhanh (Quick sort)](#sắp-xếp-nhanh-quick-sort)
42 | - [Sắp xếp cơ số (Radix sort)](#sắp-xếp-cơ-số-radix-sort)
43 | - [Sắp xếp đếm phân phối (Counting sort)](#sắp-xếp-đếm-phân-phối-counting-sort)
44 |
45 | ## Sắp xếp nổi bọt (Bubble sort)
46 |
47 | - Bài viết tiếng Việt:
48 | - [Sắp xếp nổi bọt (Bubble sort) - VNOI Wiki](https://wiki.vnoi.info/algo/basic/sorting#s%E1%BA%AFp-x%E1%BA%BFp-n%E1%BB%95i-b%E1%BB%8Dt-bubble-sort)
49 | - [Sắp xếp nổi bọt - Wikipedia](https://vi.wikipedia.org/wiki/S%E1%BA%AFp_x%E1%BA%BFp_n%E1%BB%95i_b%E1%BB%8Dt)
50 | - [Thuật toán sắp xếp nổi bọt (bubble sort)](https://viblo.asia/p/thuat-toan-sap-xep-noi-bot-bubble-sort-m68Z0exQlkG)
51 | - Video tiếng Việt:
52 | - [Bubble Sort Algorithm | Thuật toán sắp xếp Bubble](https://www.youtube.com/watch?v=KsbdeXLau08)
53 | - [Thuật toán sắp xếp nổi bọt - Bubble Sort](https://www.youtube.com/watch?v=R06eV02zg6A)
54 | - Bài viết tiếng Anh:
55 | - [Bubble sort - Wikipedia](https://en.wikipedia.org/wiki/Bubble_sort)
56 | - [DSA Bubble Sort - W3Schools](https://www.w3schools.com/dsa/dsa_algo_bubblesort.php)
57 | - [Bubble Sort Algorithm - GeeksforGeeks](https://www.geeksforgeeks.org/bubble-sort-algorithm/)
58 | - [VisuAlgo](https://visualgo.net/en/sorting?slide=1)
59 | - Video tiếng Anh:
60 | - [Bubble Sort By Abdul Bari](https://www.youtube.com/watch?v=p__ETf2CKY4)
61 | - [Bubble sort with Hungarian, folk dance](https://www.youtube.com/watch?v=Iv3vgjM8Pv4)
62 | - [Bubble sort in 2 minutes](https://www.youtube.com/watch?v=xli_FI7CuzA)
63 | - [Bubble sort algorithm](https://www.youtube.com/watch?v=Jdtq5uKz-w4)
64 |
65 | ## Sắp xếp chèn (Insertion sort)
66 |
67 | - Bài viết tiếng Việt:
68 | - [Sắp xếp chèn (Insertion Sort) - VNOI Wiki](https://wiki.vnoi.info/algo/basic/sorting#s%E1%BA%AFp-x%E1%BA%BFp-ch%C3%A8n-insertion-sort)
69 | - [Sắp xếp chèn - Wikipedia](https://vi.wikipedia.org/wiki/S%E1%BA%AFp_x%E1%BA%BFp_ch%C3%A8n)
70 | - [Insertion Sort - sắp xếp chèn](https://viblo.asia/p/sap-xep-chen-sap-xep-chon-va-sap-xep-tron-Do754zX4ZM6#_ii-insertion-sort---sap-xep-chen-1)
71 | - Video tiếng Việt:
72 | - [Insertion Sort Algorithm | Thuật toán sắp xếp chèn](https://www.youtube.com/watch?v=IWT-Uoz_Sb8)
73 | - [Thuật Toán Sắp Xếp Chèn (Insertion Sort)](https://www.youtube.com/watch?v=R5IcI6Ni8IY)
74 | - Bài viết tiếng Anh:
75 | - [Insertion sort - Wikipedia](https://en.wikipedia.org/wiki/Insertion_sort)
76 | - [DSA Insertion Sort - W3Schools](https://www.w3schools.com/dsa/dsa_algo_insertionsort.php)
77 | - [Insertion Sort Algorithm - GeeksforGeeks](https://www.geeksforgeeks.org/insertion-sort-algorithm/)
78 | - [VisuAlgo](https://visualgo.net/en/sorting?slide=9)
79 | - Video tiếng Anh:
80 | - [Insertion sort in 2 minutes](https://www.youtube.com/watch?v=JU767SDMDvA)
81 | - [Insertion sort algorithm](https://www.youtube.com/watch?v=i-SKeOcBwko)
82 | - [Insertion Sort By Abdul Bari](https://www.youtube.com/watch?v=oTICKmJhLXI)
83 | - [Insert-sort with Romanian folk dance](https://www.youtube.com/watch?v=EdIKIf9mHk0)
84 |
85 | ## Sắp xếp trộn (Merge sort)
86 |
87 | - Bài viết tiếng Việt:
88 | - [Sắp xếp trộn (Merge sort) - VNOI Wiki](https://wiki.vnoi.info/algo/basic/sorting#s%E1%BA%AFp-x%E1%BA%BFp-tr%E1%BB%99n-merge-sort)
89 | - [Sắp xếp trộn - Wikipedia](https://vi.wikipedia.org/wiki/S%E1%BA%AFp_x%E1%BA%BFp_tr%E1%BB%99n)
90 | - [Merge Sort](https://viblo.asia/p/merge-sort-38X4ENAoJN2)
91 | - Video tiếng Việt:
92 | - [Merge Sort Algorithm #1: Giới thiệu CONCEPT | Thuật toán sắp xếp "theo dân gian là Trộn @@"](https://www.youtube.com/watch?v=f2nTwlZiuMI)
93 | - [Merge Sort Algorithm #2: Đời HỢP rồi TAN | Thuật toán sắp xếp "theo dân gian là Trộn @@"](https://www.youtube.com/watch?v=Pq5y-MzBdWs)
94 | - [Thuật Toán Sắp Xếp Trộn (Merge Sort)](https://www.youtube.com/watch?v=EvmFg_wZMD8)
95 | - [Thuật Toán Sắp Xếp Trộn (Merge Sort). Đếm Số Cặp Nghịch Thế Trong Mảng Bằng Merge Sort](https://www.youtube.com/watch?v=hTHO1Mprj8g)
96 | - Bài viết tiếng Anh:
97 | - [Merge sort - Wikipedia](https://en.wikipedia.org/wiki/Merge_sort)
98 | - [DSA Merge Sort - W3Schools](https://www.w3schools.com/dsa/dsa_algo_mergesort.php)
99 | - [Merge Sort – Data Structure and Algorithms Tutorials - GeeksforGeeks](https://www.geeksforgeeks.org/merge-sort/)
100 | - [VisuAlgo](https://visualgo.net/en/sorting?slide=11)
101 | - Video tiếng Anh:
102 | - [Merge sort in 3 minutes](https://www.youtube.com/watch?v=4VqmGXwpLqc)
103 | - [Merge Sort Algorithm By Abdul Bari](https://www.youtube.com/watch?v=mB5HXBb_HY8)
104 | - [Merge sort algorithm](https://www.youtube.com/watch?v=TzeBrDU-JaY)
105 | - [Merge Sort vs Quick Sort](https://www.youtube.com/watch?v=es2T6KY45cA)
106 | - [Merge-sort with Transylvanian-saxon (German) folk dance](https://www.youtube.com/watch?v=dENca26N6V4)
107 |
108 | ## Sắp xếp chọn (Selection sort)
109 |
110 | - Bài viết tiếng Việt:
111 | - [Sắp xếp chọn - Wikipedia](https://vi.wikipedia.org/wiki/S%E1%BA%AFp_x%E1%BA%BFp_ch%E1%BB%8Dn)
112 | - [Selection Sort](https://viblo.asia/p/selection-sort-AZoJjXG7VY7)
113 | - [Thuật toán sắp xếp selection sort minh họa code sử dụng c++](https://blog.luyencode.net/thuat-toan-sap-xep-selection-sort/)
114 | - Video tiếng Việt:
115 | - [Thuật Toán Sắp Xếp Chọn (Selection Sort)](https://www.youtube.com/watch?v=XnwIziGYOFY)
116 | - [Thuật Toán Sắp Xếp Chèn | Sắp Xếp Nổi Bọt | Sắp Xếp Chọn | Sắp Xếp Đếm Phân Phối](https://www.youtube.com/watch?v=FllEXZV1Z58)
117 | - Bài viết tiếng Anh:
118 | - [Selection sort - Wikipedia](https://en.wikipedia.org/wiki/Selection_sort)
119 | - [DSA Selection Sort - W3Schools](https://www.w3schools.com/dsa/dsa_algo_selectionsort.php)
120 | - [Selection Sort Algorithm - GeeksforGeeks](https://www.geeksforgeeks.org/selection-sort-algorithm-2/)
121 | - [VisuAlgo](https://visualgo.net/en/sorting?slide=8)
122 | - Video tiếng Anh:
123 | - [Selection sort in 3 minutes](https://www.youtube.com/watch?v=g-PGLbMth_g)
124 | - [Selection sort algorithm](https://www.youtube.com/watch?v=GUDLRan2DWM)
125 | - [Learn Selection Sort in 8 minutes](https://www.youtube.com/watch?v=EwjnF7rFLns)
126 | - [Select-sort with Gypsy folk dance](https://www.youtube.com/watch?v=0-W8OEwLebQ)
127 |
128 | ## Sắp xếp vun đống (Heap sort)
129 |
130 | - Bài viết tiếng Việt:
131 | - [Sắp xếp vun đống (HeapSort) - VNOI Wiki](https://wiki.vnoi.info/algo/basic/sorting#s%E1%BA%AFp-x%E1%BA%BFp-vun-%C4%91%E1%BB%91ng-heapsort)
132 | - [Sắp xếp vun đống - Wikipedia](https://vi.wikipedia.org/wiki/S%E1%BA%AFp_x%E1%BA%BFp_vun_%C4%91%E1%BB%91ng)
133 | - [Sắp xếp vun đống](https://viblo.asia/p/sap-xep-vun-dong-63vKjeYk52R)
134 | - Video tiếng Việt:
135 | - [Heap Sort Algorithm | Thuật toán sắp xếp vun đống](https://www.youtube.com/watch?v=Dr6DdLDsE-4)
136 | - [Giải Thích Cách Hoạt Động Thuật Toán Sắp Xếp Vun Đống | Thuật Toán Heap Sort](https://www.youtube.com/watch?v=XFI96Z7i3LE)
137 | - [Cấu trúc dữ liệu và giải thuật: Heap Sort - Sắp xếp vun đống](https://www.youtube.com/watch?v=-A3AFoS_NDI)
138 | - Bài viết tiếng Anh:
139 | - [Heapsort - Wikipedia](https://en.wikipedia.org/wiki/Heapsort)
140 | - [Heap Sort – Data Structures and Algorithms Tutorials - GeeksforGeeks](https://www.geeksforgeeks.org/heap-sort/)
141 | - [Heap Sort - HackerEarth](https://www.hackerearth.com/practice/algorithms/sorting/heap-sort/tutorial/)
142 | - [Heap Sort - Visualization](https://www.cs.usfca.edu/~galles/visualization/HeapSort.html)
143 | - Video tiếng Anh:
144 | - [Heap sort in 4 minutes](https://www.youtube.com/watch?v=2DmK_H7IdTo)
145 | - [HEAP SORT | Sorting Algorithms | DSA | GeeksforGeeks](https://www.youtube.com/watch?v=MtQL_ll5KhQ)
146 | - [Heap - Heap Sort - Heapify - Priority Queues](https://www.youtube.com/watch?v=HqPJF2L5h9U)
147 | - [Heaps and Heap Sort - MIT OpenCourseWare](https://www.youtube.com/watch?v=B7hVxCmfPtM)
148 |
149 | ## Sắp xếp nhanh (Quick sort)
150 |
151 | - Bài viết tiếng Việt:
152 | - [Sắp xếp nhanh (QuickSort) - VNOI Wiki](https://wiki.vnoi.info/algo/basic/sorting#s%E1%BA%AFp-x%E1%BA%BFp-nhanh-quicksort)
153 | - [Sắp xếp nhanh - Wikipedia](https://vi.wikipedia.org/wiki/S%E1%BA%AFp_x%E1%BA%BFp_nhanh)
154 | - [Thuật toán sắp xếp nhanh (Quick sort)](https://viblo.asia/p/thuat-toan-sap-xep-nhanh-quick-sort-eW65G6ROlDO)
155 | - Video tiếng Việt:
156 | - [Cấu trúc dữ liệu và giải thuật: Quick Sort - Sắp xếp nhanh](https://www.youtube.com/watch?v=qjvx0Ge7aos)
157 | - [Quick Sort Algorithm | Thuật toán sắp xếp nhanh](https://www.youtube.com/watch?v=x1BMc7MEjnk)
158 | - [Thuật Toán Sắp Xếp Nhanh QuickSort | Phân Hoạch Lomuto Và Phân Hoạch Hoare](https://www.youtube.com/watch?v=eT9Epyf0XLM)
159 | - Bài viết tiếng Anh:
160 | - [Quicksort - Wikipedia](https://en.wikipedia.org/wiki/Quicksort)
161 | - [DSA Quicksort - W3Schools](https://www.w3schools.com/dsa/dsa_algo_quicksort.php)
162 | - [Quick Sort Algorithm - GeeksforGeeks](https://www.geeksforgeeks.org/quick-sort-algorithm/)
163 | - [VisuAlgo](https://visualgo.net/en/sorting?slide=12)
164 | - Video tiếng Anh:
165 | - [Quick sort in 4 minutes](https://www.youtube.com/watch?v=Hoixgm4-P4M)
166 | - [QuickSort Algorithm By Abdul Bari](https://www.youtube.com/watch?v=7h1s2SojIRw)
167 | - [Quicksort algorithm](https://www.youtube.com/watch?v=COk73cpQbFQ)
168 | - [Quick Sort - Computerphile](https://www.youtube.com/watch?v=XE4VP_8Y0BU)
169 | - [Quick sort with Hungarian, folk dance](https://www.youtube.com/watch?v=3San3uKKHgg)
170 | - [Visualization of Quick sort](https://www.youtube.com/watch?v=aXXWXz5rF64)
171 |
172 | ## Sắp xếp cơ số (Radix sort)
173 |
174 | - Bài viết tiếng Việt:
175 | - [Sắp xếp cơ số (RadixSort) - VNOI Wiki](https://wiki.vnoi.info/algo/basic/sorting#s%E1%BA%AFp-x%E1%BA%BFp-c%C6%A1-s%E1%BB%91-radixsort)
176 | - [Sắp xếp theo cơ số - Wikipedia](https://vi.wikipedia.org/wiki/S%E1%BA%AFp_x%E1%BA%BFp_theo_c%C6%A1_s%E1%BB%91)
177 | - [Distribution Sort - Radix Sort](https://www.iostream.co/article/distribution-sort-radix-sort-vqu1H1)
178 | - Video tiếng Việt:
179 | - [Radix Sort Algorithm | Thuật toán sắp xếp theo cơ số](https://www.youtube.com/watch?v=e4Oide9BsH8)
180 | - [Minh họa giải thuật Radix Sort](https://www.youtube.com/watch?v=EhyaefzDy64)
181 | - Bài viết tiếng Anh:
182 | - [Radix sort - Wikipedia](https://en.wikipedia.org/wiki/Radix_sort)
183 | - [DSA Radix Sort - W3Schools](https://www.w3schools.com/dsa/dsa_algo_radixsort.php)
184 | - [Radix Sort – Data Structures and Algorithms Tutorials - GeeksforGeeks](https://www.geeksforgeeks.org/radix-sort/)
185 | - [VisuAlgo](https://visualgo.net/en/sorting?slide=16)
186 | - Video tiếng Anh:
187 | - [Visualization of Radix sort](https://www.youtube.com/watch?v=mVRHvZF8xtg)
188 | - [Radix Sort By Abdul Bari](https://www.youtube.com/watch?v=6du1LrLbDpA)
189 | - [Radix Sort | GeeksforGeeks](https://www.youtube.com/watch?v=nu4gDuFabIM)
190 | - [Radix Sort Algorithm Introduction in 5 Minutes](https://www.youtube.com/watch?v=XiuSW_mEn7g)
191 |
192 | ## Sắp xếp đếm phân phối (Counting sort)
193 |
194 | - Bài viết tiếng Việt:
195 | - [Sắp xếp đếm phân phối - Wikipedia](https://vi.wikipedia.org/wiki/S%E1%BA%AFp_x%E1%BA%BFp_%C4%91%E1%BA%BFm_ph%C3%A2n_ph%E1%BB%91i)
196 | - [Sắp xếp bằng đếm phân phối (Counting Sort)](https://viblo.asia/p/sap-xep-bang-dem-phan-phoi-counting-sort-Qbq5Q63LKD8)
197 | - Video tiếng Việt:
198 | - [Thuật Toán Sắp Xếp Chèn | Sắp Xếp Nổi Bọt | Sắp Xếp Chọn | Sắp Xếp Đếm Phân Phối](https://www.youtube.com/watch?v=FllEXZV1Z58)
199 | - [Cài đặt sắp xếp với Counting sort](https://www.youtube.com/watch?v=zNwsjS0PLU8)
200 | - Bài viết tiếng Anh:
201 | - [Counting sort - Wikipedia](https://en.wikipedia.org/wiki/Counting_sort)
202 | - [DSA Counting Sort - W3Schools](https://www.w3schools.com/dsa/dsa_algo_countingsort.php)
203 | - [Counting Sort – Data Structures and Algorithms Tutorials - GeeksforGeeks](https://www.geeksforgeeks.org/counting-sort/)
204 | - [Counting Sort - HackerEarth](https://www.hackerearth.com/practice/algorithms/sorting/counting-sort/tutorial/)
205 | - [VisuAlgo](https://visualgo.net/en/sorting?slide=15)
206 | - Video tiếng Anh:
207 | - [Learn Counting Sort Algorithm in LESS THAN 6 MINUTES!](https://www.youtube.com/watch?v=OKd534EWcdk)
208 | - [Counting Sort | GeeksforGeeks](https://www.youtube.com/watch?v=7zuGmKfUt7s)
209 | - [Counting Sort](https://www.youtube.com/watch?v=EItdcGhSLf4)
--------------------------------------------------------------------------------
/Các thuật toán tìm kiếm/README.md:
--------------------------------------------------------------------------------
1 | # [Tờ Mờ Sáng học Thuật toán và Lập trình thi đấu](/README.md)
2 |
3 | # Các thuật toán tìm kiếm
4 |
5 | > Tổng hợp danh sách những tài liệu hay và bổ ích về **Thuật toán và Lập trình thi đấu**
6 | >
7 | > Người tổng hợp: **[Trần Minh Sáng](https://www.facebook.com/sangtran.04/)**
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | ### Series video "Lên trình Thuật toán - Lập trình thi đấu":
25 |
26 | [](https://www.youtube.com/watch?v=AgwnOQbJVvU&list=PLqfkD788zZGCjhbJsmyhInVAhHBSV8Gqg&index=1)
27 |
28 | ## Cài đặt extension [Random Algorithm Topics](https://chromewebstore.google.com/detail/random-algorithm-topics/cfbnefdpfhohjhehglbjkchobnaknbkm) trên Google Chrome để học ngẫu nhiên một chủ đề trong danh sách mỗi khi mở 1 tab mới trên trình duyệt
29 |
30 |
[Install on Google Chrome](https://chromewebstore.google.com/detail/random-algorithm-topics/cfbnefdpfhohjhehglbjkchobnaknbkm)
31 |
32 |
33 |
34 | ## Nội dung chính của phần "Các thuật toán tìm kiếm"
35 |
36 | - [Tìm kiếm tuần tự (Linear search)](#tìm-kiếm-tuần-tự-linear-search)
37 | - [Tìm kiếm nhị phân (Binary search)](#tìm-kiếm-nhị-phân-binary-search)
38 | - [Tìm kiếm tam phân (Ternary search)](#tìm-kiếm-tam-phân-ternary-search)
39 | - [Tìm kiếm nhảy (Jump search)](#tìm-kiếm-nhảy-jump-search)
40 | - [Tìm kiếm nội suy (Interpolation search)](#tìm-kiếm-nội-suy-interpolation-search)
41 |
42 | ## Tìm kiếm tuần tự (Linear search)
43 |
44 | - Bài viết tiếng Việt:
45 | - [Tìm kiếm tuần tự - Wikipedia](https://vi.wikipedia.org/wiki/T%C3%ACm_ki%E1%BA%BFm_tu%E1%BA%A7n_t%E1%BB%B1)
46 | - [Linear Search - Tìm kiếm tuần tự](https://viblo.asia/p/linear-search-tim-kiem-tuan-tu-5pPLkxO2VRZ)
47 | - [Bài toán tìm kiếm và các thuật toán Tìm kiếm thông dụng](https://viblo.asia/p/bai-toan-tim-kiem-va-cac-thuat-toan-tim-kiem-thong-dung-djeZ1dEGKWz)
48 | - Video tiếng Việt:
49 | - [Thuật Toán Tìm Kiếm Tuần Tự (Linear Search)](https://www.youtube.com/watch?v=mDpJMTQcvrA)
50 | - [Tìm kiếm tuần tự - Tin học 7](https://www.youtube.com/watch?v=ARhjNWFmozE)
51 | - Bài viết tiếng Anh:
52 | - [Linear search - Wikipedia](https://en.wikipedia.org/wiki/Linear_search)
53 | - [DSA Linear Search - W3Schools](https://www.w3schools.com/dsa/dsa_algo_linearsearch.php)
54 | - [Introduction to Linear Search Algorithm - GeeksforGeeks](https://www.geeksforgeeks.org/linear-search/)
55 | - Video tiếng Anh:
56 | - [Learn Linear Search in 3 minutes](https://www.youtube.com/watch?v=246V51AWwZM)
57 | - [Linear Search - CS50 Shorts](https://www.youtube.com/watch?v=TwsgCHYmbbA)
58 | - [Best Worst and Average Case Analysis - Abdul Bari](https://www.youtube.com/watch?v=lj3E24nnPjI)
59 | - [Linear search vs Binary search](https://www.youtube.com/watch?v=sSYQ1H9-Vks)
60 |
61 | ## Tìm kiếm nhị phân (Binary search)
62 |
63 | - Bài viết tiếng Việt:
64 | - [Thuật toán tìm kiếm nhị phân - VNOI Wiki](https://wiki.vnoi.info/algo/basic/Binary-Search)
65 | - [Tìm kiếm nhị phân - Wikipedia](https://vi.wikipedia.org/wiki/T%C3%ACm_ki%E1%BA%BFm_nh%E1%BB%8B_ph%C3%A2n)
66 | - [Thuật Toán Tìm Kiếm Nhị Phân](https://blog.28tech.com.vn/c-thuat-toan-tim-kiem-nhi-phan)
67 | - Video tiếng Việt:
68 | - [Thuật Toán Tìm Kiếm Nhị Phân | Hàm Lower_bound và Upper_bound Trong Thư Viện STL](https://www.youtube.com/watch?v=dB2DWSKGLj8)
69 | - [Tìm kiếm nhị phân, chặt nhị phân với Thầy giáo dạy đội tuyển Quốc gia](https://www.youtube.com/watch?v=kMh-bdfa9xs)
70 | - [Thuật Toán Tìm Kiếm Nhị Phân (Binary Search)](https://www.youtube.com/watch?v=kfJCPlIpZL4)
71 | - Bài viết tiếng Anh:
72 | - [Binary Search - TopCoder](https://www.topcoder.com/thrive/articles/Binary%20Search)
73 | - [Binary search - Wikipedia](https://en.wikipedia.org/wiki/Binary_search)
74 | - [DSA Binary Search - W3Schools](https://www.w3schools.com/dsa/dsa_algo_binarysearch.php)
75 | - [Binary Search Algorithm – Iterative and Recursive Implementation](https://www.geeksforgeeks.org/binary-search/)
76 | - [Binary Search - USACO Guide](https://usaco.guide/silver/binary-search?lang=cpp)
77 | - Video tiếng Anh:
78 | - [How Binary Search Makes Computers Much, Much Faster](https://www.youtube.com/watch?v=KXJSjte_OAI)
79 | - [Binary Search Iterative Method - Abdul Bari](https://www.youtube.com/watch?v=C2apEw9pgtw)
80 | - [Binary Search Algorithm - Computerphile](https://www.youtube.com/watch?v=hDn8iOc30Tk)
81 | - [Binary Search tutorial (C++ and Python)](https://www.youtube.com/watch?v=GU7DpgHINWQ)
82 | - [Binary search in 4 minutes](https://www.youtube.com/watch?v=fDKIpRe8GW4)
83 | - [Binary Search Algorithm in 100 Seconds](https://www.youtube.com/watch?v=MFhxShGxHWc)
84 |
85 | ## Tìm kiếm tam phân (Ternary search)
86 |
87 | - Bài viết tiếng Việt:
88 | - [Tìm kiếm tam phân - Ternary Search - VNOI Wiki](https://wiki.vnoi.info/translate/emaxx/Tim-kiem-tam-phan-Ternary-Search)
89 | - [C++: Tìm kiếm tam phân (Ternary Search)](https://v1study.com/c-plus-plus-tham-khao-tim-kiem-tam-phan-ternary-search.html)
90 | - [Thuật toán tìm kiếm tam phân](https://lmsang1986.violet.vn/entry/show/entry_id/7018542)
91 | - Video tiếng Việt:
92 | - [Tìm kiếm tam phân (Ternary search)](https://www.youtube.com/watch?v=3US8YDfKXHk)
93 | - Bài viết tiếng Anh:
94 | - [Ternary search - Wikipedia](https://en.wikipedia.org/wiki/Ternary_search)
95 | - [Ternary Search - cp-algorithms](https://cp-algorithms.com/num_methods/ternary_search.html)
96 | - [Ternary Search - HackerEarth](https://www.hackerearth.com/practice/algorithms/searching/ternary-search/tutorial/)
97 | - [Ternary Search - GeeksforGeeks](https://www.geeksforgeeks.org/ternary-search/)
98 | - Video tiếng Anh:
99 | - [Ternary Search | Code Tutorial](https://www.youtube.com/watch?v=JaO8cU9WlWg)
100 | - [Ternary Search in 4 min (Python)](https://www.youtube.com/watch?v=o3HPRpbGlbI)
101 | - [Ternary Search](https://www.youtube.com/playlist?list=PL-Jc9J83PIiGiFr2WFAiS9nEssqEoCKC4)
102 | - [Ternary Search | Ternary Search with example](https://www.youtube.com/watch?v=WyWL1PBNvb8)
103 |
104 | ## Tìm kiếm nhảy (Jump search)
105 |
106 | - Bài viết tiếng Việt:
107 | - [Thuật Toán Jump Search](https://phattrienphanmem123az.com/thuat-toan-lap-trinh/thuat-toan-jump-search.html)
108 | - [Thuật toán Jump Search – Giới thiệu chi tiết và code ví dụ trên nhiều ngôn ngữ lập trình](https://cafedev.vn/thuat-toan-jump-search-gioi-thieu-chi-tiet-va-code-vi-du-tren-nhieu-ngon-ngu-lap-trinh/)
109 | - Video tiếng Việt:
110 | - [Thuật Toán Tìm Kiếm Nhảy (Jump Search)](https://www.youtube.com/watch?v=abUqgjwjymA)
111 | - Bài viết tiếng Anh:
112 | - [Jump search - Wikipedia](https://en.wikipedia.org/wiki/Jump_search)
113 | - [Jump Search - GeeksforGeeks](https://www.geeksforgeeks.org/jump-search/)
114 | - [Jump Search algorithm](https://www.tutorialspoint.com/data_structures_algorithms/jump_search_algorithm.htm)
115 | - [What is the difference between Binary Search and Jump Search? - GeeksforGeeks](https://www.geeksforgeeks.org/what-is-the-difference-between-binary-search-and-jump-search/)
116 | - Video tiếng Anh:
117 | - [What is Jump Search and how does it work (with CODE)](https://www.youtube.com/watch?v=wNOoyZ45SmQ)
118 | - [Jump Search | GeeksforGeeks](https://www.youtube.com/watch?v=63kS6ZkMpkA)
119 | - [Jump Search in C++ | Code Tutorial](https://www.youtube.com/watch?v=kDGBHwwdPhA)
120 |
121 | ## Tìm kiếm nội suy (Interpolation search)
122 |
123 | - Bài viết tiếng Việt:
124 | - [Thuật Toán Interpolation Search](https://phattrienphanmem123az.com/thuat-toan-lap-trinh/thuat-toan-interpolation-search.html)
125 | - [Thuật toán tìm tiếm nội suy (Interpolation Search)](https://freetuts.net/tim-kiem-noi-suy-interpolation-search-2922.html)
126 | - Video tiếng Việt:
127 | - [Interpolation Search - Thuật toán tìm kiếm nội suy](https://www.youtube.com/watch?v=FMdJrQHYO-g)
128 | - [Bạn có nghĩ tìm kiếm nội suy là thuật toán tìm kiếm tốt nhất hiện nay không](https://www.youtube.com/watch?v=PRMSr0qQ_js)
129 | - Bài viết tiếng Anh:
130 | - [Interpolation search - Wikipedia](https://en.wikipedia.org/wiki/Interpolation_search)
131 | - [Interpolation Search - GeeksforGeeks](https://www.geeksforgeeks.org/interpolation-search/)
132 | - [Interpolation Search - TopCoder](https://www.topcoder.com/thrive/articles/interpolation-search)
133 | - Video tiếng Anh:
134 | - [Learn Interpolation search in 8 minutes](https://www.youtube.com/watch?v=YSVS5GG1JuI)
135 | - [Interpolation Search algorithm (with Example & CODE)](https://www.youtube.com/watch?v=hF9iJEPegNc)
136 | - [Visualization of Interpolation Search](https://www.youtube.com/watch?v=DlCPTPQD6Mw)
--------------------------------------------------------------------------------
/Cấu trúc dữ liệu/README.md:
--------------------------------------------------------------------------------
1 | # [Tờ Mờ Sáng học Thuật toán và Lập trình thi đấu](/README.md)
2 |
3 | # Cấu trúc dữ liệu (Data Structures)
4 |
5 | > Tổng hợp danh sách những tài liệu hay và bổ ích về **Thuật toán và Lập trình thi đấu**
6 | >
7 | > Người tổng hợp: **[Trần Minh Sáng](https://www.facebook.com/sangtran.04/)**
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | ### Series video "Lên trình Thuật toán - Lập trình thi đấu":
25 |
26 | [](https://www.youtube.com/watch?v=AgwnOQbJVvU&list=PLqfkD788zZGCjhbJsmyhInVAhHBSV8Gqg&index=1)
27 |
28 | ## Cài đặt extension [Random Algorithm Topics](https://chromewebstore.google.com/detail/random-algorithm-topics/cfbnefdpfhohjhehglbjkchobnaknbkm) trên Google Chrome để học ngẫu nhiên một chủ đề trong danh sách mỗi khi mở 1 tab mới trên trình duyệt
29 |
30 |
[Install on Google Chrome](https://chromewebstore.google.com/detail/random-algorithm-topics/cfbnefdpfhohjhehglbjkchobnaknbkm)
31 |
32 |
33 |
34 | ## Nội dung chính của phần "Cấu trúc dữ liệu (Data Structures)"
35 |
36 | - [Tổng quan về cấu trúc dữ liệu](#tổng-quan-về-cấu-trúc-dữ-liệu)
37 | - [Mảng (Array) và Danh sách liên kết (Linked list)](#mảng-array-và-danh-sách-liên-kết-linked-list)
38 | - [Dynamic Array](#dynamic-array)
39 | - [Ngăn xếp (Stack)](#ngăn-xếp-stack)
40 | - [Hàng đợi (Queue)](#hàng-đợi-queue)
41 | - [Set và Multiset](#set-và-multiset)
42 | - [Hàng đợi ưu tiên (Priority Queue)](#hàng-đợi-ưu-tiên-priority-queue)
43 | - [Mảng cộng dồn và mảng hiệu](#mảng-cộng-dồn-và-mảng-hiệu)
44 | - [Deque và tìm min max trên đoạn tịnh tiến](#deque-và-tìm-min-max-trên-đoạn-tịnh-tiến)
45 | - [Heap](#heap)
46 | - [Bảng băm (Hash table)](#bảng-băm-hash-table)
47 | - [Disjoint Set Union (DSU)](#disjoint-set-union-dsu)
48 | - [Cây Phân Đoạn (Segment Tree](#cây-phân-đoạn-segment-tree)
49 | - [Chia căn](#chia-căn)
50 | - [Fenwick Tree (Binary Indexed Tree)](#fenwick-tree-binary-indexed-tree)
51 | - [Heavy Light Decomposition (HLD)](#heavy-light-decomposition-hld)
52 | - [Persistent Data Structures](#persistent-data-structures)
53 | - [Lowest Common Ancestor (LCA) - Binary Lifting](#lowest-common-ancestor-lca---binary-lifting)
54 | - [Bài toán RMQ & bài toán LCA](#bài-toán-rmq--bài-toán-lca)
55 | - [Trie](#trie)
56 | - [Suffix Array](#suffix-array)
57 | - [Skip List](#skip-list)
58 | - [Range Tree](#range-tree)
59 |
60 | ## Tổng quan về cấu trúc dữ liệu
61 |
62 | - Bài viết tiếng Việt:
63 | - [Tổng quan về Cấu Trúc Dữ Liệu - VNOI Wiki](https://wiki.vnoi.info/algo/data-structures/data-structures-overview)
64 | - [Cấu trúc dữ liệu - Wikipedia](https://vi.wikipedia.org/wiki/C%E1%BA%A5u_tr%C3%BAc_d%E1%BB%AF_li%E1%BB%87u)
65 | - [Cấu trúc dữ liệu là gì? Tổng hợp các loại cấu trúc dữ liệu](https://funix.edu.vn/chia-se-kien-thuc/cau-truc-du-lieu-la-gi-tong-hop-cac-loai-cau-truc-du-lieu/)
66 | - Video tiếng Việt:
67 | - [8 Cấu Trúc Dữ Liệu cơ bản mà Dev nào cũng nên biết - Tôi Đi Code Dạo](https://www.youtube.com/watch?v=YYta5uWViJc)
68 | - [Cấu trúc dữ liệu và thuật toán - Ông Dev](https://youtu.be/Q7UuJAhysZg?si=-QC56TTkFOLESK6r)
69 | - [Thông não cơ bản về Cấu trúc dữ liệu & Giải thuật. Môn này quan trọng thế nào?](https://www.youtube.com/watch?v=HmA2gjp5wWI)
70 | - Bài viết tiếng Anh:
71 | - [Algorithm Gym :: Data structures - Codeforces Blog](https://codeforces.com/blog/entry/15729)
72 | - [Data Structures](https://www.topcoder.com/thrive/articles/Data%20Structures)
73 | - [Data Structures Tutorial - GeeksforGeeks](https://www.geeksforgeeks.org/data-structures/)
74 | - [Data structure - Wikipedia](https://en.wikipedia.org/wiki/Data_structure)
75 | - [Data Structures & Algorithms - Tech Dev Guide with Google](https://techdevguide.withgoogle.com/paths/data-structures-and-algorithms/)
76 | - Video tiếng Anh:
77 | - [What Are Data Structures? - CS Dojo](https://www.youtube.com/watch?v=bum_19loj9A)
78 | - [Data Structures: Crash Course Computer Science](https://www.youtube.com/watch?v=DuDz6B4cqVc)
79 | - [Data Structures and Algorithms in 15 Minutes](https://www.youtube.com/watch?v=oz9cEqFynHU)
80 | - [Learn Data Structures and Algorithms for free](https://www.youtube.com/watch?v=CBYHwZcbD-s)
81 | - [CS50x 2024 - Lecture 5 - Data Structures](https://www.youtube.com/watch?v=0euvEdPwQnQ)
82 | - [Data Structures - Full Course Using C and C++ - freeCodeCamp](https://www.youtube.com/watch?v=B31LgI4Y4DQ)
83 | - [Data Structures and Algorithms for Beginners - Programming with Mosh](https://www.youtube.com/watch?v=BBpAmxU_NQo)
84 |
85 | ## Mảng (Array) và Danh sách liên kết (Linked list)
86 |
87 | - Bài viết tiếng Việt:
88 | - [Mảng và danh sách liên kết - VNOI Wiki](https://wiki.vnoi.info/algo/data-structures/array-vs-linked-lists)
89 | - [Xử lý mảng trong C++ và những điều cần lưu ý](https://stringee.com/vi/blog/post/xu-ly-mang-trong-c)
90 | - [Mảng 1 chiều trong C++ (Arrays)](https://howkteam.vn/course/khoa-hoc-lap-trinh-c-can-ban/mang-1-chieu-trong-c-arrays-1377)
91 | - [Mảng - Array - Slide Đại học Công nghệ - Đại học Quốc gia (UET)](https://uet.vnu.edu.vn/~sonpb/THCS4/Lecture05_Mang.pdf)
92 | - [Danh sách liên kết - Wikipedia](https://vi.wikipedia.org/wiki/Danh_s%C3%A1ch_li%C3%AAn_k%E1%BA%BFt)
93 | - [Danh Sách Liên Kết - Linked List](https://blog.28tech.com.vn/danh-sach-lien-ket-linked-list)
94 | - [Ôn tập struct và bộ nhớ động Linked Lists - Slide Đại học Công nghệ - Đại học Quốc gia (UET)](https://uet.vnu.edu.vn/~tqlong/2018ltnc/Support-Lec9&10-LinkedLists.pdf)
95 | - Video tiếng Việt:
96 | - [Array - Mảng](https://www.youtube.com/watch?v=IRoOEsNqgzM)
97 | - [Mảng Một Chiều Và Các Bài Toán Quen Thuộc Về Mảng Trong Ngôn Ngữ Lập Trình C](https://www.youtube.com/watch?v=DrKvp90X0Uo)
98 | - [Giới thiệu Linked list](https://www.youtube.com/watch?v=XduwHI8bbcA)
99 | - [Linked list phần 2](https://www.youtube.com/watch?v=ZaG5n_6ehIw)
100 | - [Linked list phần 3: CODE](https://www.youtube.com/watch?v=OJz-DuvFd24)
101 | - [Danh sách liên kết và cây nhị phân](https://www.youtube.com/playlist?list=PLux-_phi0Rz1k7dQ7iWAw4xDD-KBHcW0F)
102 | - [Danh Sách Liên Kết Đơn Ngôn Ngữ Lập Trình C++](https://www.youtube.com/watch?v=mdG5TEiJTx8)
103 | - Bài viết tiếng Anh:
104 | - [Linked list - Wikipedia](https://en.wikipedia.org/wiki/Linked_list)
105 | - [VisuAlgo](https://visualgo.net/en/list?slide=1)
106 | - [Linked List Data Structure - GeeksforGeeks](https://www.geeksforgeeks.org/linked-list-data-structure/)
107 | - [DSA Linked Lists - W3Schools](https://www.w3schools.com/dsa/dsa_theory_linkedlists.php)
108 | - [Linked list cheatsheet for coding interviews](https://www.techinterviewhandbook.org/algorithms/linked-list/)
109 | - [Singly Linked List - HackerEarth](https://www.hackerearth.com/practice/data-structures/linked-list/singly-linked-list/tutorial/)
110 | - Video tiếng Anh:
111 | - [CS50x 2024 - Lecture 2 - Arrays](https://www.youtube.com/watch?v=4vU4aEFmTSo)
112 | - [An Overview of Arrays and Memory](https://www.youtube.com/watch?v=pmN9ExDf3yQ)
113 | - [Arrays in C++](https://www.youtube.com/watch?v=ENDaJi08jCU)
114 | - [CS50x 2024 - Lecture 5 - Data Structures](https://www.youtube.com/watch?v=0euvEdPwQnQ)
115 | - [Introduction to Linked List](https://www.youtube.com/watch?v=R9PTBwOzceo)
116 | - [Introduction to Linked Lists](https://www.youtube.com/watch?v=WwfhLC16bis)
117 | - [Data Structures: Linked Lists](https://www.youtube.com/watch?v=njTh_OwMljA)
118 | - [Linked Lists for Technical Interviews](https://www.youtube.com/watch?v=Hj_rA0dhr2I)
119 | - [Linked List - Implementation in C/C++](https://www.youtube.com/watch?v=vcQIFT79_50)
120 |
121 | ## Dynamic Array
122 |
123 | - Bài viết tiếng Việt:
124 | - [Cấp phát mảng động (Dynamically allocating arrays)](https://howkteam.vn/course/khoa-hoc-lap-trinh-c-can-ban/cap-phat-mang-dong-dynamically-allocating-arrays-2743)
125 | - [Cấp Phát Mảng Động](https://blog.28tech.com.vn/c-cap-phat-mang-dong)
126 | - [Con trỏ và Mảng động - Slide Đại học Công nghệ - Đại học Quốc gia (UET)](https://uet.vnu.edu.vn/~diepht/s12_int2202/lect10_pointer.pdf)
127 | - [Vector Trong C++](https://blog.28tech.com.vn/stl-vector-trong-c)
128 | - [Sử dụng vector trong lập trình C++ - giải bài toán lập trình muôn thủa](https://viblo.asia/p/su-dung-vector-trong-lap-trinh-c-giai-bai-toan-lap-trinh-muon-thua-Az45bnGQ5xY)
129 | - Video tiếng Việt:
130 | - [Implement DynamicArray](https://www.youtube.com/watch?v=MtSDY_kuM7o)
131 | - [Cấp phát mảng động](https://www.youtube.com/watch?v=vn4Q8hDz_OQ)
132 | - [Mảng động-dynamic array](https://www.youtube.com/watch?v=g_25amR5vM8)
133 | - [Con Trỏ Trong Ngôn Ngữ C | Truyền Tham Chiếu | Cấp Phát Động](https://www.youtube.com/watch?v=9kaUEMbXEk4)
134 | - Bài viết tiếng Anh:
135 | - Mục ***5.1 Dynamic Arrays*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
136 | - [Dynamic array - Wikipedia](https://en.wikipedia.org/wiki/Dynamic_array)
137 | - [How do Dynamic arrays work? - GeeksforGeeks](https://www.geeksforgeeks.org/how-do-dynamic-arrays-work/)
138 | - [Difference between Static Arrays and Dynamic Arrays - GeeksforGeeks](https://www.geeksforgeeks.org/difference-between-static-arrays-and-dynamic-arrays/)
139 | - Video tiếng Anh:
140 | - [Data Structures and Dynamic Arrays - MIT OpenCourseWare](https://www.youtube.com/watch?v=CHhwJjR0mZA&t=16s)
141 | - [Dynamic Arrays - Bro Code](https://www.youtube.com/watch?v=jzJlq35dQII)
142 | - [The Simple and Elegant Idea behind Efficient Dynamic Arrays](https://www.youtube.com/watch?v=Ij7NQ-0mIVA)
143 | - [Static Arrays vs. Dynamic Arrays](https://www.youtube.com/watch?v=qTb1sZX74K0)
144 | - [Dynamic Arrays in C++ (std::vector)](https://www.youtube.com/watch?v=PocJ5jXv8No)
145 | - [Optimizing the usage of std::vector in C++](https://www.youtube.com/watch?v=HcESuwmlHEY)
146 |
147 | ## Ngăn xếp (Stack)
148 |
149 | - Bài viết tiếng Việt:
150 | - [Stack (ngăn xếp) - VNOI Wiki](https://wiki.vnoi.info/algo/data-structures/Stack)
151 | - [Ngăn xếp - Wikipedia](https://vi.wikipedia.org/wiki/Ng%C4%83n_x%E1%BA%BFp)
152 | - [Stack - Cấu trúc dữ liệu ngăn xếp](https://howkteam.vn/course/cau-truc-du-lieu-va-giai-thuat/stack-cau-truc-du-lieu-ngan-xep-4271)
153 | - Video tiếng Việt:
154 | - [Stack - Ông Dev](https://www.youtube.com/watch?v=BxxG5aFEtBE)
155 | - [Stack Implementations - Ông Dev](https://www.youtube.com/watch?v=bLafmb5KeWE)
156 | - [Stack Code - Ông Dev](https://www.youtube.com/watch?v=_v4kcYNJDLQ)
157 | - [Cách Hoạt Động của CTDL Ngăn Xếp](https://www.youtube.com/watch?v=MQZ1TH0l7sk)
158 | - [Memory layout in C: Một chương trình C được tổ chức trong memory như thế nào? Heap và Stack là gì?](https://www.youtube.com/watch?v=9890mLEpECg)
159 | - Bài viết tiếng Anh:
160 | - [Stack (abstract data type) - Wikipedia](https://en.wikipedia.org/wiki/Stack_%28abstract_data_type%29)
161 | - [DSA Stacks - W3Schools](https://www.w3schools.com/dsa/dsa_data_stacks.php)
162 | - [Stack Data Structure - GeeksforGeeks](https://www.geeksforgeeks.org/stack-data-structure/)
163 | - [Basics of Stacks - HackerEarth](https://www.hackerearth.com/practice/data-structures/stacks/basics-of-stacks/tutorial/)
164 | - Video tiếng Anh:
165 | - [Introduction to Stacks](https://www.youtube.com/watch?v=I37kGX-nZEI)
166 | - [Learn Stack data structures in 10 minutes](https://www.youtube.com/watch?v=KInG04mAjO0)
167 | - [Data structures: Introduction to stack](https://www.youtube.com/watch?v=F1F2imiOJfk)
168 | - [Pointers and dynamic memory - stack vs heap](https://www.youtube.com/watch?v=_8-ht2AKyH4)
169 | - [Introduction to Stacks and Queues - CS Dojo](https://www.youtube.com/watch?v=A3ZUpyrnCbM)
170 |
171 | ## Hàng đợi (Queue)
172 |
173 | - Bài viết tiếng Việt:
174 | - [Hàng đợi - Wikipedia](https://vi.wikipedia.org/wiki/H%C3%A0ng_%C4%91%E1%BB%A3i)
175 | - [Stack và Queue thì ứng dụng được gì vào dự án thực tế???](https://viblo.asia/p/stack-va-queue-thi-ung-dung-duoc-gi-vao-du-an-thuc-te-r1QLxB8o4Aw)
176 | - [Cấu trúc dữ liệu và thuật toán | Hàng đợi (Queue)](https://www.tailieubkhn.com/2023/08/cau-truc-du-lieu-va-thuat-toan-hang-doi-queue.html)
177 | - [Một số dạng hàng đợi](https://tek4.vn/khoa-hoc/cau-truc-du-lieu-va-thuat-toan/mot-so-dang-hang-doi)
178 | - [Queue và Deque](https://howkteam.vn/course/cau-truc-du-lieu-va-giai-thuat/queue-va-deque-4272)
179 | - Video tiếng Việt:
180 | - [Cấu Trúc Dữ Liệu Hàng Đợi Trong C++ | Cách Hoạt Động Của Hàng Đợi (Queue)](https://www.youtube.com/watch?v=gYG70ULXbW4)
181 | - [Cài Đặt Hàng Đợi Bằng Danh Sách Liên Kết Và Mảng 1 Chiều](https://www.youtube.com/watch?v=Y4JgOv6N_WY)
182 | - [Queue - Ông Dev](https://www.youtube.com/watch?v=qpqSiYjS9-4)
183 | - [Queue Implementations - Ông Dev](https://www.youtube.com/watch?v=EFdvAXaPYVY)
184 | - [Queue Code - Ông Dev](https://www.youtube.com/watch?v=frMLRE88cmg)
185 | - Bài viết tiếng Anh:
186 | - [Queue (abstract data type) - Wikipedia](https://en.wikipedia.org/wiki/Queue_%28abstract_data_type%29)
187 | - [DSA Queues - W3Schools](https://www.w3schools.com/dsa/dsa_data_queues.php)
188 | - [Queue Data Structure - GeeksforGeeks](https://www.geeksforgeeks.org/queue-data-structure/)
189 | - [Basics of Queues - HackerEarth](https://www.hackerearth.com/practice/data-structures/queues/basics-of-queues/tutorial/)
190 | - Video tiếng Anh:
191 | - [Queues in 3 minutes](https://www.youtube.com/watch?v=D6gu-_tmEpQ)
192 | - [Data structures: Array implementation of Queue](https://www.youtube.com/watch?v=okr-XE8yTO8)
193 | - [Data structures: Linked List implementation of Queue](https://www.youtube.com/watch?v=A5_XdiK4J8A)
194 | - [Learn Queue data structures in 10 minutes](https://www.youtube.com/watch?v=nqXaPZi99JI)
195 | - [Introduction to Stacks and Queues - CS Dojo](https://www.youtube.com/watch?v=A3ZUpyrnCbM)
196 | - [What is a Message Queue?](https://www.youtube.com/watch?v=xErwDaOc-Gs)
197 |
198 | ## Set và Multiset
199 |
200 | - Bài viết tiếng Việt:
201 | - [[STL]. Set Trong C++](https://blog.28tech.com.vn/stl-set-trong-c)
202 | - [[STL]. Các Hàm Thông Dụng Của Set Trong C++](https://blog.28tech.com.vn/stl-cac-ham-thong-dung-cua-set-trong-c)
203 | - [[STL]. Multiset Trong C++](https://blog.28tech.com.vn/stl-multiset-trong-c)
204 | - [[STL]. Unordered_set Trong C++](https://blog.28tech.com.vn/stl-unorderedset-trong-c)
205 | - [Thư viện STL C++ (phần 2) - Tập hợp (Set) và một số ứng dụng](https://viblo.asia/p/bai-15-thu-vien-stl-c-phan-2-tap-hop-set-va-mot-so-ung-dung-bWrZnQynKxw)
206 | - [Multiset trong C++ là gì](https://laptrinhcanban.com/cpp/lap-trinh-cpp-co-ban/multiset-trong-cpp/multiset-trong-cpp-la-gi/)
207 | - Video tiếng Việt:
208 | - [Cấu Trúc Dữ Liệu Set Trong C++ | Multiset | Unordered_set](https://youtu.be/lQ0KTlXDRR0?si=ZKWZ7OA46MoQpjyC)
209 | - [Set,Multiset và Unordered_set trong thư viện STL của C++](https://www.youtube.com/watch?v=VA8xzJzuEoA)
210 | - [Hướng Dẫn Bài Tập Áp Dụng Set Và Map Trong C++](https://www.youtube.com/watch?v=JcSs5ryBAKg)
211 | - Bài viết tiếng Anh:
212 | - Mục ***5.2.1 Sets and Multisets*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
213 | - [What is the difference between set and multiset in STL? - Quora](https://www.quora.com/What-is-the-difference-between-set-and-multiset-in-STL)
214 | - [Difference Between set, multiset, unordered_set, unordered_multiset in C++ - GeeksforGeeks](https://www.geeksforgeeks.org/difference-between-set-multiset-unordered_set-unordered_multiset-in-cpp/)
215 | - [Set (abstract data type) - Wikipedia](https://en.wikipedia.org/wiki/Set_%28abstract_data_type%29)
216 | - [Set in C++ Standard Template Library (STL)](https://www.geeksforgeeks.org/set-in-cpp-stl/)
217 | - [Multiset in C++ Standard Template Library (STL)](https://www.geeksforgeeks.org/multiset-in-cpp-stl/)
218 | - Video tiếng Anh:
219 | - [std::set In C++](https://www.youtube.com/watch?v=1YpxRmsDuls)
220 | - [Multiset In C++](https://www.youtube.com/watch?v=xxA2QjKj73w)
221 | - [std::unordered_set In C++](https://youtu.be/Yevgn0yu5mI?si=FqPbJnAGh6PFhlxn)
222 | - [std::unordered_multiset In C++](https://www.youtube.com/watch?v=hmc6ck5IsRQ)
223 | - [C++ Programming Language Tutorial | Set in C++ STL | GeeksforGeeks](https://www.youtube.com/watch?v=YuZPHhniZtw)
224 | - [C++ Programming Language Tutorial | Multiset in C++ STL | GeeksforGeeks](https://www.youtube.com/watch?v=xelzlR_OGnI)
225 | - [C++ STL Tutorial: Sets and MultiSet](https://www.youtube.com/watch?v=PKE_Y9_gHMo)
226 |
227 | ## Hàng đợi ưu tiên (Priority Queue)
228 |
229 | - Bài viết tiếng Việt:
230 | - [Tổng quan về Priority Queue](https://howkteam.vn/course/cau-truc-du-lieu-va-giai-thuat/tong-quan-ve-priority-queue-4384)
231 | - [Priority Queue (hàng đợi ưu tiên) là gì? Hướng dẫn cách thiết lập mức độ ưu tiên cho hàng đợi cuộc gọi](https://duhunggroups.com/priority-queue-hang-doi-uu-tien-la-gi-huong-dan-cach-thiet-lap-muc-do-uu-tien-cho-hang-doi-cuoc-goi/)
232 | - [Sử dụng thư viện STL trong C++ : Priority Queue](https://hoccungchuyengia.com/su-dung-thu-vien-stl-trong-c-priority-queue/)
233 | - Video tiếng Việt:
234 | - [Cấu Trúc Dữ Liệu Hàng Đợi Ưu Tiên | Priority_queue trong C++](https://www.youtube.com/watch?v=DRcAJNhtwbY)
235 | - [Heap Và Hàng Đợi Ưu Tiên (Priority Queue)](https://www.youtube.com/watch?v=KGukb-Z1ebA)
236 | - [Heap (Đống) - Priority Queue (Hàng đợi ưu tiên)](https://www.youtube.com/watch?v=BXYotZVWBm4)
237 | - Bài viết tiếng Anh:
238 | - Mục ***5.2.3 Priority Queues*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
239 | - [Priority queue - Wikipedia](https://en.wikipedia.org/wiki/Priority_queue)
240 | - [What is Priority Queue | Introduction to Priority Queue - GeeksforGeeks](https://www.geeksforgeeks.org/priority-queue-set-1-introduction/)
241 | - [Priority Queue in C++ Standard Template Library (STL) - GeeksforGeeks](https://www.geeksforgeeks.org/priority-queue-in-cpp-stl/)
242 | - Video tiếng Anh:
243 | - [Heap - Heap Sort - Heapify - Priority Queues - Abdul Bari](https://www.youtube.com/watch?v=HqPJF2L5h9U)
244 | - [Priority Queue Introduction](https://www.youtube.com/watch?v=wptevk0bshY)
245 | - [Priority Queue](https://www.youtube.com/watch?v=NlEwbC6Nt0c)
246 | - [Learn Priority Queue data structures in 5 minutes](https://www.youtube.com/watch?v=7z_HXFZqXqc)
247 | - [Heaps, heapsort, and priority queues - Inside code](https://www.youtube.com/watch?v=pLIajuc31qk)
248 | - [Priority Queue in C++ STL | GeeksforGeeks](https://www.youtube.com/watch?v=vc7i0bBuQEM)
249 |
250 | ## Mảng cộng dồn và mảng hiệu
251 |
252 | - Bài viết tiếng Việt:
253 | - [Mảng cộng dồn và mảng hiệu - VNOI Wiki](https://wiki.vnoi.info/algo/data-structures/prefix-sum-and-difference-array.md)
254 | - [Quy hoạch động 5.5: Mảng tổng tiền tố và Mảng hiệu (phần 1)](https://viblo.asia/p/quy-hoach-dong-55-mang-tong-tien-to-va-mang-hieu-phan-1-r1QLx6104Aw)
255 | - [Quy hoạch động 5.5: Mảng tổng tiền tố và Mảng hiệu (phần 2)](https://viblo.asia/p/quy-hoach-dong-55-mang-tong-tien-to-va-mang-hieu-phan-2-GAWVpaRo405)
256 | - Video tiếng Việt:
257 | - [Mảng Cộng Dồn Trên Mảng 1 Chiều Và 2 Chiều | Truy Vấn Tổng Trên Đoạn](https://www.youtube.com/watch?v=KxQkpu842rc)
258 | - [Mảng Cộng Dồn (Prefix Sum) Phần 1](https://www.youtube.com/watch?v=F68H8ESSOIs)
259 | - [Mảng Cộng Dồn (Prefix Sum) Phần 2](https://www.youtube.com/watch?v=FhWsl8bhpqA)
260 | - [Mảng Cộng Dồn (Prefix Sum) Phần 3](https://youtu.be/zi0E7Zsj1qM?si=kmctFZpzu7b_KWT-)
261 | - Bài viết tiếng Anh:
262 | - [Prefix sum array and difference array](https://wcipeg.com/wiki/Prefix_sum_array_and_difference_array)
263 | - [Introduction to Prefix Sums - USACO Guide](https://usaco.guide/silver/prefix-sums?lang=cpp)
264 | - [More on Prefix Sums - USACO Guide](https://usaco.guide/silver/more-prefix-sums?lang=cpp)
265 | - [Prefix Sum Array – Implementation and Applications in Competitive Programming - GeeksforGeeks](https://www.geeksforgeeks.org/prefix-sum-array-implementation-applications-competitive-programming/)
266 | - [An Introduction To Difference Arrays - Codeforces Blog](https://codeforces.com/blog/entry/78762)
267 | - [Difference Array | Range update query in O(1) - GeeksforGeeks](https://www.geeksforgeeks.org/difference-array-range-update-query-o1/)
268 | - Video tiếng Anh:
269 | - [Prefix Sums - Problems, Code in C++ & Python](https://www.youtube.com/watch?v=PhgtNY_-CiY)
270 | - [Prefix Sum Algorithm | Prefix Sum Array | Difference Array | Range Sum QueryO(1)](https://www.youtube.com/watch?v=pVS3yhlzrlQ)
271 | - [Prefix and Partial Sums](https://www.youtube.com/playlist?list=PLolmUFFwpoZXikmXzvaiKXJInVoA6_dpw)
272 | - [Subarray Sum Equals K - Prefix Sums - Leetcode 560 - Python](https://www.youtube.com/watch?v=fFVZt-6sgyo)
273 | - [Prefix Sum Array Explained](https://www.youtube.com/watch?v=7pJo_rM0z_s)
274 | - [Difference Array | Range update in O(1)](https://www.youtube.com/watch?v=R-PBfqsRGP0)
275 |
276 | ## Deque và tìm min max trên đoạn tịnh tiến
277 |
278 | - Bài viết tiếng Việt:
279 | - [Deque - hàng đợi hai đầu - VNOI Wiki](https://wiki.vnoi.info/algo/data-structures/Deque)
280 | - [Hàng đợi hai đầu (deque) và Bài toán tìm max-min trong đoạn tịnh tiến - VNOI Wiki](https://wiki.vnoi.info/algo/data-structures/deque-min-max)
281 | - [Deque và Tìm min - max trên đoạn tịnh tiến](https://viblo.asia/p/deque-va-tim-min-max-tren-doan-tinh-tien-maGK7Bda5j2)
282 | - [Queue và Deque](https://howkteam.vn/course/cau-truc-du-lieu-va-giai-thuat/queue-va-deque-4272)
283 | - Video tiếng Việt:
284 | - [Cấu Trúc Dữ Liệu Hàng Đợi Hai Đầu | Deque In C++](https://www.youtube.com/watch?v=MoD_cqJ9s6g)
285 | - [stack - deque (Tìm số nhỏ/lớn hơn gần nhất, tìm max min trên đoạn tịnh tiến) [C++]](https://www.youtube.com/watch?v=85S-YtmEuDo)
286 | - Bài viết tiếng Anh:
287 | - [std::deque](https://cplusplus.com/reference/deque/deque/)
288 | - [Deque in C++ Standard Template Library (STL)](https://www.geeksforgeeks.org/deque-cpp-stl/)
289 | - [Double-ended queue - Wikipedia](https://en.wikipedia.org/wiki/Double-ended_queue)
290 | - Video tiếng Anh:
291 | - [std::deque In C++](https://www.youtube.com/watch?v=uGWeixb7HMo)
292 | - [Deque - Data Structure](https://www.youtube.com/watch?v=5VDQxLAlfu0)
293 | - [Double-Ended Queue in Data Structure](https://www.youtube.com/watch?v=OnlgK0gjtB8)
294 | - [Deque In Data Structure | Introduction To Deque With Example](https://www.youtube.com/watch?v=OBftGLwEdEw)
295 | - [Sliding Window Maximum using Deque](https://www.youtube.com/watch?v=4JstGzs6Q9I)
296 | - [Deque Animation](https://www.youtube.com/watch?v=xC4m6O7VDJU)
297 |
298 | ## Heap
299 |
300 | - Bài viết tiếng Việt:
301 | - [Binary Heap - VNOI Wiki](https://wiki.vnoi.info/translate/wcipeg/Binary-Heap)
302 | - [Đống (cấu trúc dữ liệu) - Wikipedia](https://vi.wikipedia.org/wiki/%C4%90%E1%BB%91ng_%28c%E1%BA%A5u_tr%C3%BAc_d%E1%BB%AF_li%E1%BB%87u%29)
303 | - [Heap và priority_queue của C++](https://viblo.asia/p/heap-va-priority-queue-cua-c-gAm5ymYX5db)
304 | - Video tiếng Việt:
305 | - [Heap (Đống) - Priority Queue (Hàng đợi ưu tiên)](https://www.youtube.com/watch?v=BXYotZVWBm4)
306 | - [Heap Và Hàng Đợi Ưu Tiên (Priority Queue)](https://www.youtube.com/watch?v=KGukb-Z1ebA)
307 | - Bài viết tiếng Anh:
308 | - [Binary heap](https://wcipeg.com/wiki/Binary_heap)
309 | - [Heap (data structure) - Wikipedia](https://en.wikipedia.org/wiki/Heap_%28data_structure%29)
310 | - [Introduction to Heap - GeeksforGeeks](https://www.geeksforgeeks.org/introduction-to-heap/)
311 | - [Heap Data Structure - GeeksforGeeks](https://www.geeksforgeeks.org/heap-data-structure/)
312 | - [Heaps/Priority Queues - HackerEarth](https://www.hackerearth.com/practice/data-structures/trees/heapspriority-queues/tutorial/)
313 | - [VisuAlgo](https://visualgo.net/en/heap?slide=1)
314 | - Video tiếng Anh:
315 | - [Heap - Heap Sort - Heapify - Priority Queues - Abdul Bari](https://www.youtube.com/watch?v=HqPJF2L5h9U)
316 | - [Heaps in 3 minutes - Intro](https://www.youtube.com/watch?v=0wPlzMU-k00)
317 | - [Heaps in 6 minutes — Methods](https://www.youtube.com/watch?v=pAU21g-jBiE)
318 | - [Heaps, heapsort, and priority queues - Inside code](https://www.youtube.com/watch?v=pLIajuc31qk)
319 | - [Data Structures: Heaps - HackerRank](https://www.youtube.com/watch?v=t0Cq6tVNRBA)
320 | - [Heaps and Heap Sort - MIT OpenCourseWare](https://www.youtube.com/watch?v=B7hVxCmfPtM)
321 | - [What Is a Binary Heap? - Spanning Tree](https://www.youtube.com/watch?v=AE5I0xACpZs)
322 |
323 | ## Bảng băm (Hash table)
324 |
325 | - Bài viết tiếng Việt:
326 | - [Bảng băm (Hash Table) - VNOI Wiki](https://wiki.vnoi.info/algo/data-structures/hash-table)
327 | - [Bảng băm - Wikipedia](https://vi.wikipedia.org/wiki/B%E1%BA%A3ng_b%C4%83m)
328 | - [Bảng băm – Hash tables](https://nguyenvanhieu.vn/bang-bam-hash-tables/)
329 | - [Bảng băm (Hash table)](https://cuuduongthancong.com/atc/1371/bai-3-bang-bam-%28hash-table%29)
330 | - [Tìm hiểu về hash table](https://viblo.asia/p/tim-hieu-ve-hash-table-RnB5p0gY5PG)
331 | - Video tiếng Việt:
332 | - [Giới thiệu về hash table (bảng băm)](https://www.youtube.com/watch?v=OpItfJ_5l_4)
333 | - [Cài đặt hash tables - xử lý va chạm bằng linked list](https://www.youtube.com/watch?v=GQs3FhwEmy0)
334 | - [Ứng dụng hash làm từ điển (Simple Dictionary)](https://www.youtube.com/watch?v=tRYXvuYcCBs)
335 | - [Hash table, hash function](https://www.youtube.com/watch?v=uKIFNzqX2a8)
336 | - [Hashtable Separate Chaining](https://www.youtube.com/watch?v=kBS3xQTVzVg)
337 | - [Hashtable Open Addressing](https://www.youtube.com/watch?v=UhBql4zi_nk)
338 | - [Hashtable Linear Probing](https://www.youtube.com/watch?v=i9e3pqoav5Q)
339 | - [Hashtable Quadratic Probing](https://www.youtube.com/watch?v=0AW6TJM9yFA)
340 | - [Hashtable Double Hashing](https://www.youtube.com/watch?v=Ix1PJgPvdVc)
341 | - [Hashtable Open Addressing Removal](https://www.youtube.com/watch?v=dHTVTsJ6kDM)
342 | - [Hashtable Open Addressing Code](https://www.youtube.com/watch?v=7zjm0IaVOIs)
343 | - [Hash function (Hàm băm) - Nghe tên kinh dị phết nhưng ý nghĩa thì là gì?](https://www.youtube.com/watch?v=vOmBRzAgH8I)
344 | - Bài viết tiếng Anh:
345 | - [Basics of Hash Tables - HackerEarth](https://www.hackerearth.com/practice/data-structures/hash-tables/basics-of-hash-tables/tutorial/)
346 | - [Hash table - Wikipedia](https://en.wikipedia.org/wiki/Hash_table)(https://www.youtube.com/watch?v=vOmBRzAgH8I)
347 | - [Hash Table Data Structure - GeeksforGeeks](https://www.geeksforgeeks.org/hash-table-data-structure/)
348 | - [Hashing in Data Structure - GeeksforGeeks](https://www.geeksforgeeks.org/hashing-data-structure/)
349 | - [DSA Hash Tables - W3Schools](https://www.w3schools.com/dsa/dsa_theory_hashtables.php)
350 | - [VisuAlgo](https://visualgo.net/en/hashtable?slide=1)
351 | - [Hash Table Data structure
352 | ](https://www.tutorialspoint.com/data_structures_algorithms/hash_data_structure.htm)
353 | - Video tiếng Anh:
354 | - [Hash tables in 4 minutes](https://www.youtube.com/watch?v=knV86FlSXJ8)
355 | - [Hash Tables and Hash Functions](https://www.youtube.com/watch?v=KyUTuwz_b7Q)
356 | - [Learn Hash Tables in 13 minutes](https://www.youtube.com/watch?v=FsfRsGFHuv4)
357 | - [Hashing - MIT OpenCourseWare](https://www.youtube.com/watch?v=Nu8YGneFCWE)
358 | - [Data Structures: Hash Tables - HackerRank](https://www.youtube.com/watch?v=shs0KM3wKv8)
359 | - [CS50 2019 - Lecture 5 - Hash Table](https://www.youtube.com/watch?v=btT4bCOvqjs)
360 | - [Understanding and implementing a Hash Table (in C)](https://www.youtube.com/watch?v=2Ti5yvumFTU)
361 | - [Hash Tables - CS50 Shorts](https://www.youtube.com/watch?v=nvzVHwrrub0)
362 |
363 | ## Disjoint Set Union (DSU)
364 |
365 | - Bài viết tiếng Việt:
366 | - [Disjoint Set Union - VNOI Wiki](https://wiki.vnoi.info/algo/data-structures/disjoint-set-union)
367 | - [Tổng quan về Disjoint Sets Union và cách xây dựng DSU](https://howkteam.vn/course/cau-truc-du-lieu-va-giai-thuat/tong-quan-ve-disjoint-sets-union-va-cach-xay-dung-dsu-4385)
368 | - [Cấu trúc dữ liệu cho các tập hợp không giao nhau - Wikipedia](https://vi.wikipedia.org/wiki/C%E1%BA%A5u_tr%C3%BAc_d%E1%BB%AF_li%E1%BB%87u_cho_c%C3%A1c_t%E1%BA%ADp_h%E1%BB%A3p_kh%C3%B4ng_giao_nhau)
369 | - [Disjoint Set Union (DSU)](https://hackmd.io/@jalsol/DSU)
370 | - [Cấu trúc các tập không giao nhau – Disjoint Set Union (DSU)](https://codedream.edu.vn/disjoint-set-union-dsu/)
371 | - Video tiếng Việt:
372 | - [Cấu Trúc Dữ Liệu Các Tập Hợp Rời Nhau | Disjoint Set Union DSU | Union Find](https://www.youtube.com/watch?v=fWLCQAwDt-0)
373 | - [DSU Disjoint Sets Union](https://www.youtube.com/watch?v=N-cfIxbDJe8)
374 | - Bài viết tiếng Anh:
375 | - [Disjoint Set Union - cp-algorithms](https://cp-algorithms.com/data_structures/disjoint_set_union.html)
376 | - [Disjoint Set Union - USACO Guide](https://usaco.guide/gold/dsu?lang=cpp)
377 | - [Disjoint Set Union (Union Find) - HackerEarth](https://www.hackerearth.com/practice/notes/disjoint-set-union-union-find/)
378 | - [Disjoint Set Union - CodeChef](https://www.codechef.com/learn/course/dsu)
379 | - [Introduction to Disjoint Set Data Structure | DSU - CodeForces Blog](https://codeforces.com/blog/entry/120381)
380 | - [Disjoint-set data structure - Wikipedia](https://en.wikipedia.org/wiki/Disjoint-set_data_structure)
381 | - [Introduction to Disjoint Set (Union-Find Algorithm) - GeeksforGeeks](https://www.geeksforgeeks.org/introduction-to-disjoint-set-data-structure-or-union-find-algorithm/)
382 | - [Disjoint Set Data Structures - GeeksforGeeks](https://www.geeksforgeeks.org/disjoint-set-data-structures/)
383 | - Video tiếng Anh:
384 | - [Disjoint Set Data Structure - Union Find Tutorial](https://www.youtube.com/watch?v=PGZ64ob440I)
385 | - [Disjoint Sets Data Structure - Weighted Union and Collapsing Find - Abdul Bari](https://www.youtube.com/watch?v=wU6udHRIkcc)
386 | - [Union Find in 5 minutes](https://www.youtube.com/watch?v=ayW5B2W9hfo)
387 | - [Disjoint Set | Union by Rank | Union by Size | Path Compression](https://www.youtube.com/watch?v=aBxjDBC4M1U)
388 | - [Disjoint Set | UNION and FIND](https://www.youtube.com/watch?v=eTaWFhPXPz4)
389 | - [Union Find Introduction](https://www.youtube.com/watch?v=ibjEGG7ylHk)
390 | - [Union Find Kruskal's Algorithm](https://www.youtube.com/watch?v=JZBQLXgSGfs)
391 | - [Union Find - Union and Find Operations](https://www.youtube.com/watch?v=0jNmHPfA_yE)
392 | - [Union Find Path Compression](https://www.youtube.com/watch?v=VHRhJWacxis)
393 | - [Union Find Code](https://www.youtube.com/watch?v=KbFlZYCpONw)
394 |
395 | ## Cây Phân Đoạn (Segment Tree)
396 |
397 | - Bài viết tiếng Việt:
398 | - [Cây Phân Đoạn (cơ bản) - VNOI Wiki](https://wiki.vnoi.info/vi/algo/data-structures/segment-tree-basic)
399 | - [Tất tần tật về Cây Phân Đoạn (Segment Tree) - VNOI Wiki](https://wiki.vnoi.info/vi/algo/data-structures/segment-tree-extend)
400 | - [Cài đặt cây phân đoạn hiệu quả (Efficient and easy segment trees) - VNOI Wiki](https://wiki.vnoi.info/translate/codeforces/Efficient-and-easy-segment-trees.md)
401 | - [Cây Đoạn (Segment Tree) là gì?](https://viblo.asia/p/cay-doan-segment-tree-la-gi-018J2KXeLYK)
402 | - [Cây phân đoạn (Segment tree)](https://vallicon.com/post/c%C3%A2y-ph%C3%A2n-%C4%91o%E1%BA%A1n-%28segment-tree%29-XavBpoRzr7A)
403 | - [Cây phân đoạn nâng cao (Segment trees advanced)](https://vallicon.com/post/c%C3%A2y-ph%C3%A2n-%C4%91o%E1%BA%A1n-n%C3%A2ng-cao-%28segment-trees-advanced%29-layJpdDpG6v)
404 | - [Segment Tree](https://howkteam.vn/course/cau-truc-du-lieu-va-giai-thuat/segment-tree-4321)
405 | - Video tiếng Việt:
406 | - [Segment Tree (Cây phân đoạn) [C++] [2021] - YugiHacker](https://www.youtube.com/watch?v=9U1pChOERjg)
407 | - [Segment Tree - Cây phân đoạn [C++] [2023], Đoạn con có tổng lớn nhất, Tìm nhị phân trên segment tree](https://www.youtube.com/watch?v=dRc5ySKB67U)
408 | - [Segment Tree - Lazy propagation [C++] [2023], Cây phân đoạn, cập nhật lười, cập nhật bậc thang](https://www.youtube.com/watch?v=ft6BOlOtsrI)
409 | - [Cài Đặt Segment Tree (Cây phân đoạn) trên C++](https://www.youtube.com/watch?v=y60m6KUgnmM)
410 | - Bài viết tiếng Anh:
411 | - Mục ***9.2.2 Segment Trees*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
412 | - [Segment Tree - cp-algorithms](https://cp-algorithms.com/data_structures/segment_tree.html)
413 | - [Segment tree](https://wcipeg.com/wiki/Segment_tree)
414 | - [Efficient and easy segment trees - Codeforces Blog](https://codeforces.com/blog/entry/18051)
415 | - [Segment tree - Wikipedia](https://en.wikipedia.org/wiki/Segment_tree)
416 | - [Segment Tree - GeeksforGeeks](https://www.geeksforgeeks.org/segment-tree-data-structure/)
417 | - [Segment Trees - HackerEarth](https://www.hackerearth.com/practice/data-structures/advanced-data-structures/segment-trees/tutorial/)
418 | - [VisuAlgo](https://visualgo.net/en/segmenttree?slide=1)
419 | - Video tiếng Anh:
420 | - [Segment Tree Range Minimum Query](https://www.youtube.com/watch?v=ZBHKZF5w4YU)
421 | - [Lazy Propagation Segment Tree](https://www.youtube.com/watch?v=xuoQdt5pHj0)
422 | - [Segment tree](https://www.youtube.com/playlist?list=PLTenPTx8NQDJniUgCDAydREd8h2Bbi_NX)
423 | - [Segment Tree: CodeNCode](https://www.youtube.com/playlist?list=PL5DyztRVgtRWt0Kgy7fCN9OSPgr6AI3DO)
424 | - [Segment Tree Concepts and Questions](https://www.youtube.com/playlist?list=PLpIkg8OmuX-K1qUIQToCllUO0UIKXt8dB)
425 | - [Segment Tree - Level 3](https://www.youtube.com/playlist?list=PL-Jc9J83PIiFY1445K_x1M_O3j9kr3FII)
426 | - [Segment Trees - The Best Introduction in 10 mins](https://www.youtube.com/watch?v=Ic7OO3Uw6J0)
427 | - [Segment Tree: Build and Query | Live Coding](https://www.youtube.com/watch?v=-dUiRtJ8ot0)
428 | - [Lazy Propagation in Segment Tree | Point and Range Updates | Live Coding](https://www.youtube.com/watch?v=rwXVCELcrqU)
429 |
430 | ## Chia căn
431 |
432 | - Bài viết tiếng Việt:
433 | - [Chia căn (sqrt decomposition) và ứng dụng: Phần 1 - VNOI Wiki](https://wiki.vnoi.info/algo/data-structures/sqrt-decomposition)
434 | - [Chia căn (sqrt decomposition) và ứng dụng: Phần 2 - VNOI Wiki](https://wiki.vnoi.info/algo/data-structures/mo-algorithm)
435 | - [Chia căn - Mới - Phần I - VNOI Wiki](https://wiki.vnoi.info/algo/data-structures/sqrt-decomposition-I-new)
436 | - [Chia căn - Mới - Phần II - VNOI Wiki](https://wiki.vnoi.info/algo/data-structures/sqrt-decomposition-II-new)
437 | - Video tiếng Việt:
438 | - [Chia căn - Chiếc phao cứu sinh cho thí sinh](https://www.youtube.com/watch?v=APuPyh94vD0)
439 | - Bài viết tiếng Anh:
440 | - [Sqrt Decomposition - cp-algorithms](https://cp-algorithms.com/data_structures/sqrt_decomposition.html)
441 | - [Sqrt Tree - cp-algorithms](https://cp-algorithms.com/data_structures/sqrt-tree.html)
442 | - [Square Root Decomposition - USACO Guide](https://usaco.guide/plat/sqrt?lang=cpp)
443 | - [An alternative sorting order for Mo's algorithm - Codeforces Blog](https://codeforces.com/blog/entry/61203)
444 | - [[Tutorial] Two ways to apply Mo's Algorithm on Trees - Codeforces Blog](https://codeforces.com/blog/entry/68271)
445 | - [[Tutorial] Square root decomposition and applications - Codeforces Blog](https://codeforces.com/blog/entry/83248)
446 | - [Square Root (Sqrt) Decomposition Algorithm - GeeksforGeeks](https://www.geeksforgeeks.org/square-root-sqrt-decomposition-algorithm/)
447 | - Video tiếng Anh:
448 | - [Square Root Decomposition, Mo's Algorithm](https://www.youtube.com/watch?v=BJhzd_VG61k)
449 | - [Square Root Decomposition - Introduction](https://www.youtube.com/watch?v=tuxMRkKuP8Y)
450 | - [RMQSQ - Spoj](https://www.youtube.com/watch?v=NreaqzAKvg0)
451 | - [Mo's Algorithm - Square Root Decomposition](https://www.youtube.com/watch?v=0Cu9Kg7RJYg)
452 | - [DQueary - SPOJ](https://www.youtube.com/watch?v=XPedtcrgA4E)
453 | - [Easily Solve Range Query Interview Problems with Square Root Decomposition/Mo's Algorithm](https://www.youtube.com/watch?v=U4YmISZViSs)
454 | - [Simplest Explanation of Square Root Decomposition](https://www.youtube.com/watch?v=IxZVN7JtUDM)
455 |
456 | ## Fenwick Tree (Binary Indexed Tree)
457 |
458 | - Bài viết tiếng Việt:
459 | - [Cây chỉ số nhị phân (Binary Indexed Tree) - VNOI Wiki](https://wiki.vnoi.info/algo/data-structures/fenwick)
460 | - [Cây chỉ số nhị phân 2 chiều (BIT 2 chiều) - VNOI Wiki](https://wiki.vnoi.info/algo/data-structures/fenwick-2d)
461 | - [Cấu trúc dữ liệu BIT – Binary Indexed Tree (Fenwick Tree)](https://viblo.asia/p/cau-truc-du-lieu-bit-binary-indexed-tree-fenwick-tree-Az45bWvNKxY)
462 | - [Fenwick Tree - HowKteam](https://howkteam.vn/course/cau-truc-du-lieu-va-giai-thuat/fenwick-tree-4328)
463 | - Video tiếng Việt:
464 | - [BIT (Fenwick Tree) - Cây chỉ số nhị phân [C++] - YugiHacker](https://www.youtube.com/watch?v=KChpxPuKqoI)
465 | - [Fenwick Tree - cây nhị phân nhưng không hề nhị phân - GSPVHCUTE](https://www.youtube.com/watch?v=lwWD73kR1IA)
466 | - [Binary Indexed Tree](https://www.youtube.com/playlist?list=PLXvr7Y9rsSjLf5X0X2CpmEwDCmxToZFYx)
467 | - Bài viết tiếng Anh:
468 | - [Fenwick Tree - cp-algorithms](https://cp-algorithms.com/data_structures/fenwick.html)
469 | - [Binary Indexed Tree or Fenwick Tree - HackerEarth](https://www.hackerearth.com/practice/notes/binary-indexed-tree-or-fenwick-tree/)
470 | - [Fenwick tree - Wikipedia](https://en.wikipedia.org/wiki/Fenwick_tree)
471 | - [Binary Indexed Tree or Fenwick Tree - GeeksforGeeks](https://www.geeksforgeeks.org/binary-indexed-tree-or-fenwick-tree-2/)
472 | - [Fenwick Tree (Binary Indexed Tree) for Competitive Programming - GeeksforGeeks](https://www.geeksforgeeks.org/fenwick-tree-for-competitive-programming/)
473 | - [Binary Indexed Trees - TopCoder](https://www.topcoder.com/thrive/articles/Binary%20Indexed%20Trees)
474 | - [Understanding Fenwick Trees / Binary Indexed Trees - Codeforces Blog](https://codeforces.com/blog/entry/57292)
475 | - [VisuAlgo](https://visualgo.net/en/fenwicktree?slide=1)
476 | - Video tiếng Anh:
477 | - [Fenwick Tree or Binary Indexed Tree](https://www.youtube.com/watch?v=CWDQJGaN1gY)
478 | - [Fenwick Tree (Binary Index Tree) - Quick Tutorial and Source Code Explanation](https://www.youtube.com/watch?v=uSFzHCZ4E-8)
479 | - [Fenwick Tree range queries](https://www.youtube.com/watch?v=RgITNht_f4Q)
480 | - [Binary Indexed Tree or Fenwick Tree | Construction and Operations | GeeksforGeeks](https://www.youtube.com/watch?v=4SNzC4uNmTA)
481 | - [Tutorial: Binary Indexed Tree (Fenwick Tree)](https://www.youtube.com/watch?v=v_wj_mOAlig)
482 |
483 | ## Heavy Light Decomposition (HLD)
484 |
485 | - Bài viết tiếng Việt:
486 | - [Heavy-Light Decomposition (HLD) - VNOI Wiki](https://wiki.vnoi.info/algo/data-structures/heavy-light-decomposition)
487 | - Bài viết tiếng Anh:
488 | - [Heavy-Light Decomposition - USACO Guide](https://usaco.guide/plat/hld?lang=cpp)
489 | - [Heavy-light decomposition - cp-algorithms](https://cp-algorithms.com/graph/hld.html)
490 | - [Hybrid Tutorial #-1: Heavy-Light Decomposition - Codeforces Blog](https://codeforces.com/blog/entry/81317)
491 | - [Introduction to Heavy Light Decomposition - GeeksforGeeks](https://www.geeksforgeeks.org/introduction-to-heavy-light-decomposition/)
492 | - Video tiếng Anh:
493 | - [Hybrid Tutorial #-1: Heavy-Light Decomposition](https://www.youtube.com/watch?v=_G_LMuLWMaI)
494 | - [Heavy light decomposition: The hardest competitive programming algorithm](https://www.youtube.com/watch?v=1PvT2d9lgqY)
495 | - [USACO Crash Course: Heavy Light Decomposition!](https://www.youtube.com/watch?v=AeBrkNQhJhc)
496 |
497 | ## Persistent Data Structures
498 |
499 | - Bài viết tiếng Việt:
500 | - [Persistent Data Structures - VNOI Wiki](https://wiki.vnoi.info/algo/data-structures/persistent-data-structures)
501 | - Bài viết tiếng Anh:
502 | - [Persistent Data Structures - USACO Guide](https://usaco.guide/adv/persistent?lang=cpp)
503 | - [Persistent Data Structures - MIT](https://ocw.mit.edu/courses/6-854j-advanced-algorithms-fall-2005/2165d83010dc7633bce397ea75f889f9_lec05_1999.pdf)
504 | - [Persistent data structure - Wikipedia](https://en.wikipedia.org/wiki/Persistent_data_structure)
505 | - [Persistent data structures - GeeksforGeeks](https://www.geeksforgeeks.org/persistent-data-structures/)
506 | - Video tiếng Anh:
507 | - [Persistent Data Structures - MIT OpenCourseWare](https://www.youtube.com/watch?v=T0yzrZL1py0)
508 | - [Retroactive Data Structures - MIT OpenCourseWare](https://youtu.be/WqCWghETNDc?si=9J6eyCmkaBYrO-ZK)
509 | - [AlgorithmsThread 5: Persistent Data Structures](https://www.youtube.com/watch?v=m3uEG4NgJx8)
510 | - ["Visualizing Persistent Data Structures" by Dann Toliver](https://youtu.be/2XH_q494U3U?si=o3-Amye0Q1fBxO3q)
511 |
512 | ## Lowest Common Ancestor (LCA) - Binary Lifting
513 |
514 | - Bài viết tiếng Việt:
515 | - [Lowest Common Ancestor (LCA) - Binary Lifting - VNOI Wiki](https://wiki.vnoi.info/algo/data-structures/lca-binlift.md)
516 | - [Các phương pháp giải bài toán LCA - VNOI Wiki](https://wiki.vnoi.info/algo/data-structures/lca)
517 | - [Bài toán: "Tổ tiên chung gần nhất" - LCA](https://storage-vnportal.vnpt.vn/lci-ubnd-responsive/sitefolders/thptchuyen-laocai/tin-hoc/chuyen-de-lca.pdf)
518 | - Video tiếng Việt:
519 | - [LCA - GSPVHCUTE](https://www.youtube.com/watch?v=KT8sdIdLbXo)
520 | - [LCA Playlist](https://www.youtube.com/playlist?list=PLXvr7Y9rsSjLsbsAjd5TRNQxfQFWQ_FZx)
521 | - Bài viết tiếng Anh:
522 | - [Lowest Common Ancestor - Binary Lifting - cp-algorithms](https://cp-algorithms.com/graph/lca_binary_lifting.html)
523 | - [LCA in a tree using Binary Lifting Technique - GeeksforGeeks](https://www.geeksforgeeks.org/lca-in-a-tree-using-binary-lifting-technique/)
524 | - [Binary Lifting Guide for Competitive Programming - GeeksforGeeks](https://www.geeksforgeeks.org/binary-lifting-guide-for-competitive-programming/)
525 | - [Binary Jumping - USACO Guide](https://usaco.guide/plat/binary-jump?lang=cpp)
526 | - [Lowest common ancestor - Wikipedia](https://en.wikipedia.org/wiki/Lowest_common_ancestor)
527 | - Video tiếng Anh:
528 | - [LCA – Lowest Common Ancestor](https://www.youtube.com/watch?v=dOAxrhAUIhA)
529 | - [Microsoft Coding Interview Question and Answer: Lowest Common Ancestor - CS Dojo](https://www.youtube.com/watch?v=GnliEfQo114)
530 | - [Lowest Common Ancestor of a Binary Search Tree - Leetcode 235 - Python](https://www.youtube.com/watch?v=gs2LMfuOR9k)
531 | - [Lowest Common Ancestor (LCA) Problem | Eulerian path method](https://www.youtube.com/watch?v=sD1IoalFomA)
532 | - [Lowest Common Ancestor Binary Tree](https://www.youtube.com/watch?v=13m9ZCB8gjw)
533 | - [Lowest Common Ancestor Binary Search Tree](https://www.youtube.com/watch?v=TIoCCStdiFo)
534 |
535 | ## Bài toán RMQ & bài toán LCA
536 |
537 | - Bài viết tiếng Việt:
538 | - [Bài toán RMQ và bài toán LCA - Binary Lifting - VNOI Wiki](https://wiki.vnoi.info/translate/topcoder/Range-Minimum-Query-and-Lowest-Common-Ancestor)
539 | - [Bài toán RMQ và bài toán LCA - VNOI Wiki](http://chuyen-vonguyengiapqb.edu.vn/tin-tuc-thong-bao/to-chuyen-mon/tin/bai-toan-rmq-va-bai-toan-lca.html)
540 | - [Range Minimum Query (RMQ) - Sparse Table - VNOI Wiki](https://wiki.vnoi.info/algo/data-structures/rmq)
541 | - [Bảng thưa (Sparse Table) - Cấu trúc dữ liệu rất mạnh để giải quyết bài toán Range Minimum Queries (RMQ)](https://viblo.asia/p/bang-thua-sparse-table-MkNLrZPlLgA)
542 | - [Range Minimum Query (RMQ) – Sparse Table](https://codedream.edu.vn/rmq-sparse-table/)
543 | - Video tiếng Việt:
544 | - [SparseTable (RMQ) - YugiHacker](https://www.youtube.com/watch?v=IQndef9owDU)
545 | - [Sparse Table](https://www.youtube.com/playlist?list=PLXvr7Y9rsSjIjqWqWp5ghJ3EaSCnnvMkL)
546 | - Bài viết tiếng Anh:
547 | - [Range Minimum Query and Lowest Common Ancestor - TopCoder](https://www.topcoder.com/thrive/articles/Range%20Minimum%20Query%20and%20Lowest%20Common%20Ancestor)
548 | - [Range minimum query - Wikipedia](https://en.wikipedia.org/wiki/Range_minimum_query#:~:text=In%20computer%20science%2C%20a%20range,common%20prefix%20problem%20(LCP).)
549 | - [Range Minimum Query - cp-algorithms](https://cp-algorithms.com/sequences/rmq.html)
550 | - [Solve RMQ (Range Minimum Query) by finding LCA (Lowest Common Ancestor) - cp-algorithms](https://cp-algorithms.com/graph/rmq_linear.html)
551 | - [Range Minimum Query (Square Root Decomposition and Sparse Table) - GeeksforGeeks](https://www.geeksforgeeks.org/range-minimum-query-for-static-array/)
552 | - [Range Minimum Queries - Đại học Standford](https://web.stanford.edu/class/cs166/lectures/01/Small01.pdf)
553 | - Video tiếng Anh:
554 | - [Sparse Table & RMQ (Range Minimum Query)](https://www.youtube.com/watch?v=0jWeUdxrGm4)
555 | - [Sparse Table Algorithm Range Minimum Query](https://www.youtube.com/watch?v=c5O7E_PDO4U)
556 | - [Segment Tree Range Minimum Query](https://www.youtube.com/watch?v=ZBHKZF5w4YU&t=24s)
557 | - [Sparse Table Data Structure](https://www.youtube.com/watch?v=uUatD9AudXo)
558 | - [Range minimum query | 3 methods](https://www.youtube.com/watch?v=DpSYj7t1sbQ)
559 | - [AlgorithmsThread 2: RMQ Tricks](https://www.youtube.com/watch?v=GWXf3vVtf-c)
560 |
561 | ## Trie
562 |
563 | - Bài viết tiếng Việt:
564 | - [Trie - VNOI Wiki](https://wiki.vnoi.info/vi/algo/string/trie)
565 | - [Trie Tree (phần 1) - Xử lý xâu kí tự](https://viblo.asia/p/trie-tree-phan-1-xu-ly-xau-ki-tu-5pPLk96n4RZ)
566 | - [Trie Tree (phần 2) - Trie nhị phân](https://viblo.asia/p/trie-tree-phan-2-trie-nhi-phan-zXRJ8m3qLGq)
567 | - [Trie - HowKteam](https://howkteam.vn/course/cau-truc-du-lieu-va-giai-thuat/trie-4329)
568 | - [Trie - Wikipedia](https://vi.wikipedia.org/wiki/Trie)
569 | - Video tiếng Việt:
570 | - [TRIE | Cây tiền tố [C++] | Phần 1 : Lý thuyết - Cài đặt cơ bản bằng mảng](https://www.youtube.com/watch?v=wFv5IgbChEQ)
571 | - [TRIE | Cây tiền tố [C++] | Phần 2 : Lý thuyết - Cài đặt cơ bản bằng con trỏ](https://www.youtube.com/watch?v=KluARqDIKVE)
572 | - [Trie - AutoComplete](https://www.youtube.com/watch?v=EEVHUE5MtDE)
573 | - Bài viết tiếng Anh:
574 | - [Trie Data Structure Tutorial - GeeksforGeeks](https://www.geeksforgeeks.org/introduction-to-trie-data-structure-and-algorithm-tutorials/)
575 | - [Trie Data Structure | Insert and Search - GeeksforGeeks](https://www.geeksforgeeks.org/trie-insert-and-search/)
576 | - [Trie | Delete - GeeksforGeeks](https://www.geeksforgeeks.org/trie-delete/)
577 | - [Advantages of Trie Data Structure - GeeksforGeeks](https://www.geeksforgeeks.org/advantages-trie-data-structure/)
578 | - [Trie (Keyword Tree) - HackerEarth](https://www.hackerearth.com/practice/data-structures/advanced-data-structures/trie-keyword-tree/tutorial/)
579 | - [Trie - Wikipedia](https://en.wikipedia.org/wiki/Trie)
580 | - Video tiếng Anh:
581 | - [Tries - CS50 Shorts](https://www.youtube.com/watch?v=MC-iQHFdEDI)
582 | - [Trie Data Structure (EXPLAINED)](https://www.youtube.com/watch?v=-urNrIAQnNo)
583 | - [Implement Trie (Prefix Tree) - Leetcode 208](https://www.youtube.com/watch?v=oobqoCJlHA0)
584 | - [TRIE in Coding Interviews](https://www.youtube.com/watch?v=MyiHeqtwOWQ)
585 | - [Data Structures: Tries](https://www.youtube.com/watch?v=zIjfhVPRZCg)
586 | - [Basics of trie](https://www.youtube.com/watch?v=6PX6wqDQE20)
587 | - [The Trie Data Structure (Prefix Tree)](https://www.youtube.com/watch?v=3CbFFVHQrk4)
588 | - [Trie Data Structure](https://www.youtube.com/watch?v=AXjmTQ8LEoI)
589 |
590 | ## Suffix Array
591 |
592 | - Bài viết tiếng Việt:
593 | - [Mảng hậu tố (Suffix Array) - VNOI Wiki](https://wiki.vnoi.info/algo/string/suffix-array)
594 | - [Bàn về mảng hậu tố (Suffix Array)](https://blogthuattoan.blogspot.com/2014/06/ban-ve-mang-hau-to-suffix-array.html)
595 | - Bài viết tiếng Anh:
596 | - [Suffix Array - cp-algorithms](https://cp-algorithms.com/string/suffix-array.html)
597 | - [Suffix Array - USACO Guide](https://usaco.guide/adv/suffix-array?lang=cpp)
598 | - [Suffix array - Wikipedia](https://en.wikipedia.org/wiki/Suffix_array)
599 | - [Suffix Array | Set 1 (Introduction) - GeeksforGeeks](https://www.geeksforgeeks.org/suffix-array-set-1-introduction/)
600 | - [Suffix arrays – a programming contest approach - Đại học Stanford](https://web.stanford.edu/class/cs97si/suffix-array.pdf)
601 | - [Suffix Arrays - HackerEarth](https://www.hackerearth.com/practice/data-structures/advanced-data-structures/suffix-arrays/tutorial/)
602 | - [SuffixArrays - Đại học Yale](https://www.cs.yale.edu/homes/aspnes/pinewiki/SuffixArrays.html)
603 | - [Suffix Array- LCP and Finding Unique Substring - TopCoder](https://www.topcoder.com/thrive/articles/suffix-array-lcp-and-finding-unique-substring)
604 | - [VisuAlgo](https://visualgo.net/en/suffixarray?slide=1)
605 | - Video tiếng Anh:
606 | - [Suffix array playlist](https://www.youtube.com/playlist?list=PLDV1Zeh2NRsCQ_Educ7GCNs3mvzpXhHW5)
607 | - [Advanced Data Structures: Suffix Arrays](https://www.youtube.com/watch?v=IzMxbboPcqQ)
608 | - [Suffix Array | Set 1 | Introduction (Explanation) | GeeksforGeeks](https://www.youtube.com/watch?v=uxA__b23t2w)
609 |
610 | ## Skip List
611 |
612 | - Bài viết tiếng Việt:
613 | - [Skip Lists - VNOI Wiki](https://wiki.vnoi.info/algo/data-structures/Skip-Lists)
614 | - [Linked lists - 7. Skip Lists](https://viblo.asia/p/chuong-3-linked-lists-7-skip-lists-Ny0VG9g5JPA)
615 | - [Skip List – Đối thủ của cây cân bằng](https://katatunix.wordpress.com/2008/08/28/skip-list-d%E1%BB%91i-th%E1%BB%A7-c%E1%BB%A7a-cay-can-b%E1%BA%B1ng/)
616 | - [Sử dụng Skiplist làm index cho MemSQL](https://newsletter.grokking.org/p/103-s-d-ng-skiplist-lam-index-cho-memsql-219217)
617 | - Bài viết tiếng Anh:
618 | - [Skip List – Efficient Search, Insert and Delete in Linked List - GeeksforGeeks](https://www.geeksforgeeks.org/skip-list/)
619 | - [Skip Lists](https://opendsa-server.cs.vt.edu/OpenDSA/Books/CS3/html/SkipList.html)
620 | - [Skip Lists - CMSC 420](https://www.cs.cmu.edu/~ckingsf/bioinfo-lectures/skiplists.pdf)
621 | - [Skip list - Wikipedia](https://en.wikipedia.org/wiki/Skip_list)
622 | - Video tiếng Anh:
623 | - [Skip List Explained | Advanced Data Structure](https://www.youtube.com/watch?v=ol-FaNLXlR0)
624 | - [Skip Lists - Algorithms Lab](https://www.youtube.com/watch?v=NDGpsfwAaqo)
625 | - [Randomization: Skip Lists - MIT OpenCourseWare](https://www.youtube.com/watch?v=2g9OSRKJuzM)
626 | - [Skip Lists EXPLAINED | Insertion and Deletion](https://www.youtube.com/watch?v=1G8h3u6Thzs)
627 | - [Skip List](https://www.youtube.com/watch?v=UGaOXaXAM5M)
628 | - [Skip List || How does skip list work](https://www.youtube.com/watch?v=YZ5ef_HiHJ8)
629 | - [Inserting and Removing from a Skip List](https://www.youtube.com/watch?v=Q9MdwzewSZg)
630 |
631 | ## Range Tree
632 |
633 | - Bài viết tiếng Việt:
634 | - [Range Tree - Thầy Lê Minh Hoàng](https://wiki.vnoi.info/algo/data-structures/rangetree.pdf)
635 | - Bài viết tiếng Anh:
636 | - [Range tree - Wikipedia](https://en.wikipedia.org/wiki/Range_tree)
637 | - [Range Trees](https://www.cs.umd.edu/class/fall2020/cmsc420-0201/Lects/lect17-range-tree.pdf)
638 | - Video tiếng Anh:
639 | - [Orthogonal Range Queries: Range Trees and Kd-Trees](https://www.youtube.com/playlist?list=PLubYOWSl9mIsOJW-u2ZusOJzZvhNi0xks)
640 | - [Range Trees - MIT OpenCourseWare](https://www.youtube.com/watch?v=xVka6z1hu-I)
641 | - [Range Trees (2D)](https://www.youtube.com/watch?v=3_WDHE2FuOk)
--------------------------------------------------------------------------------
/Kỹ thuật lập trình/README.md:
--------------------------------------------------------------------------------
1 | # [Tờ Mờ Sáng học Thuật toán và Lập trình thi đấu](/README.md)
2 |
3 | # Kỹ thuật lập trình
4 |
5 | > Tổng hợp danh sách những tài liệu hay và bổ ích về **Thuật toán và Lập trình thi đấu**
6 | >
7 | > Người tổng hợp: **[Trần Minh Sáng](https://www.facebook.com/sangtran.04/)**
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | ### Series video "Lên trình Thuật toán - Lập trình thi đấu":
25 |
26 | [](https://www.youtube.com/watch?v=AgwnOQbJVvU&list=PLqfkD788zZGCjhbJsmyhInVAhHBSV8Gqg&index=1)
27 |
28 | ## Cài đặt extension [Random Algorithm Topics](https://chromewebstore.google.com/detail/random-algorithm-topics/cfbnefdpfhohjhehglbjkchobnaknbkm) trên Google Chrome để học ngẫu nhiên một chủ đề trong danh sách mỗi khi mở 1 tab mới trên trình duyệt
29 |
30 |
[Install on Google Chrome](https://chromewebstore.google.com/detail/random-algorithm-topics/cfbnefdpfhohjhehglbjkchobnaknbkm)
31 |
32 |
33 |
34 | ## Nội dung chính của phần "Kỹ thuật lập trình"
35 |
36 | - [Ngôn ngữ lập trình C++](#ngôn-ngữ-lập-trình-c)
37 | - [Cách tiếp cận bài toán](#cách-tiếp-cận-bài-toán)
38 | - [Độ phức tạp](#độ-phức-tạp)
39 | - [Đệ quy](#đệ-quy)
40 | - [Thao tác với bit](#thao-tác-với-bit)
41 |
42 | ## Ngôn ngữ lập trình C++
43 |
44 | - Video tiếng Việt:
45 | - [Lập trình C++ từ cơ bản đến nâng cao](https://www.youtube.com/playlist?list=PLqfkD788zZGCmOyQaymJv4G-au94QqBLj)
46 | - [Algorithm - Bài 2 - Phân tích các mẹo kỹ thuật thường sử dụng trong Lập trình thi đấu](https://www.youtube.com/watch?v=S25lf3BlNVg&list=PLqfkD788zZGCjhbJsmyhInVAhHBSV8Gqg&index=3)
47 | - [Algorithm - Bài 3 - Đặc biệt lưu ý khi làm việc với int, long long, modulo, floating point numbers](https://www.youtube.com/watch?v=8rwyW3VtIAk&list=PLqfkD788zZGCjhbJsmyhInVAhHBSV8Gqg&index=4)
48 | - [Algorithm - Bài 4 - Những kiểu code rút gọn mà dân chơi lập trình thi đấu hay sử dụng](https://www.youtube.com/watch?v=8rwyW3VtIAk&list=PLqfkD788zZGCjhbJsmyhInVAhHBSV8Gqg&index=5)
49 | - [Lập trình C++ từ cơ bản tới nâng cao](https://www.youtube.com/playlist?list=PL_-VfJajZj0Uo72G_6tSY4NRLpmffeXSA)
50 | - [#define int long long - nên hay không? | #ifdef ONLINE_JUDGE là gì mà ai cũng copy?](https://www.youtube.com/watch?v=_OIXGXGt6GI)
51 | - [C++ #define: Cách sử dụng an toàn và hiệu quả](https://www.youtube.com/watch?v=JiGL4XP9V_Q)
52 | - [Ngôn Ngữ Lập trình C++](https://www.youtube.com/playlist?list=PLux-_phi0Rz0Hq9fDP4TlOulBl8APKp79)
53 | - [Lập trình C++ cơ bản](https://www.youtube.com/playlist?list=PL33lvabfss1xagFyyQPRcppjFKMQ7lvJM)
54 | - Bài viết tiếng Anh:
55 | - [C Plus Plus](https://cplusplus.com/doc/tutorial/)
56 | - [C++ Tutorial - W3Schools](https://www.w3schools.com/cpp/default.asp)
57 | - [Learn C++](https://www.learncpp.com/)
58 | - Video tiếng Anh:
59 | - [Bjarne Stroustrup: Why I Created C++](https://www.youtube.com/watch?v=JBjjnqG0BP8)
60 | - [C++ Tutorial for Beginners - Full Course](https://www.youtube.com/watch?v=vLnPwxZdW4Y)
61 | - [How C++, Java, Python Actually Work](https://www.youtube.com/watch?v=hnlz0YYCpBU)
62 | - [Where is C++ being Used?](https://www.youtube.com/watch?v=UdTzHmjMYBc)
63 | - [(Life) Advice From The Creator of C++](https://www.youtube.com/watch?v=-QxI-RP6-HM)
64 | - [Bjarne Stroustrup: Advice for C++ Developers](https://www.youtube.com/watch?v=BzphqTn1wPc)
65 |
66 | ## Cách tiếp cận bài toán
67 |
68 | - Bài viết tiếng Việt:
69 | - [Những cách tiếp cận bài toán: Phần 1 - VNOI Wiki](https://wiki.vnoi.info/translate/topcoder/Planning-an-Approach-to-a-Topcoder-Problem-Part-1)
70 | - [Những cách tiếp cận bài toán: Phần 2](https://wiki.vnoi.info/translate/topcoder/Planning-an-Approach-to-a-Topcoder-Problem-Part-2)
71 | - [Nghệ thuật giải bài](https://wiki.vnoi.info/translate/topcoder/How-to-Find-a-Solution)
72 | - Video tiếng Việt:
73 | - [VNOI Talkshow #1: Làm thế nào để học tốt Lập trình thi đấu](https://www.youtube.com/watch?v=EPKHm5jrU4o)
74 | - [[Algo/Interview] VNOI Giao lưu chém gió - RR & Lăng Trung Hiếu](https://www.youtube.com/watch?v=tkBB-JP47b8)
75 | - [Code nhiều subtask khi thi VOI - Phạm Văn Hạnh](https://www.youtube.com/watch?v=3clQUr9Skw0)
76 | - [Để học giỏi Tin, cần học giỏi Toán! - Phạm Văn Hạnh](https://www.youtube.com/watch?v=hCwAA3xwv1Q)
77 | - [Để học giỏi Tin, cần học giỏi Vật Lý! - Phạm Văn Hạnh](https://www.youtube.com/watch?v=iXT67J2hexU)
78 | - Bài viết tiếng Anh:
79 | - [Planning an Approach to a Topcoder Problem Part 1 - TopCoder](https://www.topcoder.com/thrive/articles/Planning%20an%20Approach%20to%20a%20Topcoder%20Problem%20Part%201)
80 | - [Planning an Approach to a Topcoder Problem Part 2 - TopCoder](https://www.topcoder.com/thrive/articles/Planning%20an%20Approach%20to%20a%20Topcoder%20Problem%20Part%202)
81 | - [How To Find a Solution - TopCoder](https://www.topcoder.com/thrive/articles/How%20To%20Find%20a%20Solution)
82 | - Video tiếng Anh:
83 | - [Starting Competitive Programming - Steps and Mistakes - William Lin](https://www.youtube.com/watch?v=bVKHRtafgPc)
84 | - [Training for GOLD for US at International Olympiad in Informatics - William Lin](https://www.youtube.com/watch?v=V_Cc4Yk2xe4)
85 | - [How he became an IOI medalist](https://www.youtube.com/watch?v=2UUUA36mqsQ)
86 | - [How To Become Red Coder? (codeforces.com)](https://www.youtube.com/watch?v=y7169jEvb-Y)
87 |
88 | ## Độ phức tạp
89 |
90 | - Bài viết tiếng Việt:
91 | - [Độ phức tạp thời gian - VNOI Wiki](https://wiki.vnoi.info/algo/basic/computational-complexity.md)
92 | - [Độ phức tạp thời gian BigO là gì?](https://howkteam.vn/course/cau-truc-du-lieu-va-giai-thuat/do-phuc-tap-thoi-gian-bigo-la-gi-4270)
93 | - [Thuật toán và Phân tích thuật toán](https://viblo.asia/p/bai-11-thuat-toan-va-phan-tich-thuat-toan-bJzKmoxrl9N)
94 | - Video tiếng Việt:
95 | - [Phân Tích Độ Phức Tạp Của Thuật Toán | Độ Phức Tạp Tính Toán Của Thuật Toán](https://www.youtube.com/watch?v=0W060mNbi40)
96 | - [Cấu trúc dữ liệu và thuật toán #3: BigO Notation và ví dụ](https://www.youtube.com/watch?v=gIF1WzVvoqk)
97 | - [Tính độ phức tạp thời gian theo code](https://www.youtube.com/watch?v=oIAATnt4z3o)
98 | - [Giải đáp thắc mắc cách tính độ phức tạp (BigO) của thuật toán trong ví dụ](https://www.youtube.com/watch?v=rytSoWVcWQQ)
99 | - [Học Big O - Độ phức tạp thuật toán cùng Anh Lê Chương- Senior Software Engineer Google](https://www.youtube.com/watch?v=U8I1XUgSM3Y)
100 | - Bài viết tiếng Anh:
101 | - Mục ***3. Efficiency*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
102 | - [Time Complexity - USACO Guide](https://usaco.guide/bronze/time-comp?lang=cpp)
103 | - [Big O Cheat Sheet – Time Complexity Chart](https://www.freecodecamp.org/news/big-o-cheat-sheet-time-complexity-chart/)
104 | - [Understanding Time Complexity with Simple Examples - GeeksforGeeks](https://www.geeksforgeeks.org/understanding-time-complexity-simple-examples/)
105 | - [DSA Time Complexity](https://www.w3schools.com/dsa/dsa_timecomplexity_theory.php)
106 | - [Time and Space complexity in Data Structure - Ultimate Guide](https://www.simplilearn.com/tutorials/data-structure-tutorial/time-and-space-complexity)
107 | - [Understanding Space Complexity](https://www.baeldung.com/cs/space-complexity)
108 | - [Space Complexity in Data Structure](https://www.scaler.com/topics/data-structures/space-complexity-in-data-structure/)
109 | - Video tiếng Anh:
110 | - [Time Complexity - Abdul Bari](https://www.youtube.com/watch?v=9TlHvipP5yA)
111 | - [Big-O notation in 5 minutes](https://www.youtube.com/watch?v=__vX2sjlpXU)
112 | - [What Big-O notation ACTUALLY tells you, and how I almost failed my Google Interview](https://www.youtube.com/watch?v=gCzOhZ_LUps)
113 | - [Space Complexity of Algorithms - How to Calculate Space Complexity of Algorithms in Data Structures](https://www.youtube.com/watch?v=yOb0BL-84h8)
114 | - [How to calculate time and space complexity from an algorithm...Frequency count method explain](https://www.youtube.com/watch?v=To1LR-Bz-Iw)
115 |
116 | ## Đệ quy
117 |
118 | - Bài viết tiếng Việt:
119 | - [Đệ quy và Thuật toán quay lui - VNOI Wiki](https://wiki.vnoi.info/algo/basic/backtracking.md)
120 | - [Đệ quy và giải thuật đệ quy](https://viblo.asia/p/de-quy-va-giai-thuat-de-quy-gGJ5969JKX2)
121 | - [Đệ quy (tin học)](https://vi.wikipedia.org/wiki/%C4%90%E1%BB%87_quy_%28tin_h%E1%BB%8Dc%29)
122 | - [Hàm Đệ Quy](https://blog.28tech.com.vn/c-ham-de-quy)
123 | - Video tiếng Việt:
124 | - [Giải Thích Cách Hàm Đệ Quy Hoạt Động | Kỹ Thuật Đệ Quy Trong C++](https://www.youtube.com/watch?v=eQ3VpTtc9lE)
125 | - [Cấu trúc dữ liệu và thuật toán #9: Recursion | Đệ quy | DS&A](https://www.youtube.com/watch?v=S9QvQ56t9xo)
126 | - [Đệ quy là gì? | Hàm đệ quy trong C++]()
127 | - [Cấu trúc dữ liệu & Giải thuật [06]: Đệ quy](https://www.youtube.com/watch?v=tHo18sWKqDs)
128 | - Bài viết tiếng Anh:
129 | - Mục ***2.2 Recursive Algorithms*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
130 | - [Complete Search with Recursion - USACO Guide](https://usaco.guide/bronze/complete-rec)
131 | - [Recursion (computer science)](https://en.wikipedia.org/wiki/Recursion_%28computer_science%29)
132 | - [Recursion Algorithms](https://www.geeksforgeeks.org/recursion-algorithms/)
133 | - Video tiếng Anh:
134 | - [Recursion in Programming - Full Course](https://www.youtube.com/watch?v=IJDJ0kBx2LM)
135 | - [Recursion in C](https://www.youtube.com/watch?v=kepBmgvWNDw)
136 | - [Programming Loops vs Recursion - Computerphile](https://www.youtube.com/watch?v=HXNhEYqFo0o)
137 | - [Introduction to Recursion (Data Structures & Algorithms #6)](https://www.youtube.com/watch?v=B0NtAFf4bvU)
138 | - [Towers of Hanoi: A Complete Recursive Visualization](https://www.youtube.com/watch?v=rf6uf3jNjbo)
139 | - [why is recursion bad?](https://www.youtube.com/watch?v=mMEmNX6aW_k)
140 |
141 | ## Thao tác với bit
142 |
143 | - Bài viết tiếng Việt:
144 | - [Phép toán bit - VNOI Wiki](https://wiki.vnoi.info/algo/basic/bitwise-operators.md)
145 | - [Thao tác xử lý bit và ứng dụng (Bit Manipulation)](https://viblo.asia/p/thao-tac-xu-ly-bit-va-ung-dung-bit-manipulation-3kY4gxl9JAe)
146 | - [Phép toán thao tác bit](https://vi.wikipedia.org/wiki/Ph%C3%A9p_to%C3%A1n_thao_t%C3%A1c_bit)
147 | - Video tiếng Việt:
148 | - [Bitwise Operators, Bitset, Bitmask (Các toán tử bit)](https://www.youtube.com/watch?v=t3B2lyhMIp8)
149 | - [Kỹ thuật xử lý bit - Các thao tác trên bit](https://www.youtube.com/watch?v=OuTSe21TyPM)
150 | - [LeetCode [Tập 66]: 401. Binary Watch | Các thao tác với bit](https://www.youtube.com/watch?v=yITg6Uk-o8Y)
151 | - [Toán Tử Bit Trong C++ | Bitwise Operators](https://www.youtube.com/watch?v=sfa7X7TnBzk)
152 | - Bài viết tiếng Anh:
153 | - Mục ***2.3 Bit Manipulation*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
154 | - [Bit manipulation - cp-algorithms](https://cp-algorithms.com/algebra/bit-manipulation.html)
155 | - [Basics of Bit Manipulation - HackerEarth](https://www.hackerearth.com/practice/basic-programming/bit-manipulation/basics-of-bit-manipulation/tutorial/)
156 | - [Intro to Bitwise Operators - USACO Guide](https://usaco.guide/silver/intro-bitwise?lang=cpp)
157 | - [Bitmask DP](https://usaco.guide/gold/dp-bitmasks?lang=cpp)
158 | - [Bits manipulation (Important tactics) - GeeksforGeeks](https://www.geeksforgeeks.org/bits-manipulation-important-tactics/)
159 | - Video tiếng Anh:
160 | - [Algorithms: Bit Manipulation - HackerRank](https://www.youtube.com/watch?v=NLKQEOgBAnw)
161 | - [Bitwise Operators and WHY we use them](https://www.youtube.com/watch?v=igIjGxF2J-w)
162 | - [Bitwise Operations tutorial #1 | XOR, Shift, Subsets](https://www.youtube.com/watch?v=xXKL9YBWgCY)
163 | - [C++ Bitsets in Competitive Programming](https://www.youtube.com/watch?v=jqJ5s077OKo)
164 | - [What are Bit Masks, and how do I use them? (examples in C)](https://www.youtube.com/watch?v=Ew2QnDeTCCE)
165 | - [DP with Bitmasks](https://www.youtube.com/playlist?list=PLb3g_Z8nEv1icFNrtZqByO1CrWVHLlO5g)
--------------------------------------------------------------------------------
/Nhập môn/README.md:
--------------------------------------------------------------------------------
1 | # [Tờ Mờ Sáng học Thuật toán và Lập trình thi đấu](/README.md)
2 |
3 | # Nhập môn
4 |
5 | > Tổng hợp danh sách những tài liệu hay và bổ ích về **Thuật toán và Lập trình thi đấu**
6 | >
7 | > Người tổng hợp: **[Trần Minh Sáng](https://www.facebook.com/sangtran.04/)**
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | ### Series video "Lên trình Thuật toán - Lập trình thi đấu":
25 |
26 | [](https://www.youtube.com/watch?v=AgwnOQbJVvU&list=PLqfkD788zZGCjhbJsmyhInVAhHBSV8Gqg&index=1)
27 |
28 | ## Cài đặt extension [Random Algorithm Topics](https://chromewebstore.google.com/detail/random-algorithm-topics/cfbnefdpfhohjhehglbjkchobnaknbkm) trên Google Chrome để học ngẫu nhiên một chủ đề trong danh sách mỗi khi mở 1 tab mới trên trình duyệt
29 |
30 |
[Install on Google Chrome](https://chromewebstore.google.com/detail/random-algorithm-topics/cfbnefdpfhohjhehglbjkchobnaknbkm)
31 |
32 |
33 |
34 | ## Nội dung chính của phần "Nhập môn"
35 |
36 | - [Thuật toán là gì?](#thuật-toán-là-gì)
37 | - [Lập trình thi đấu là gì?](#lập-trình-thi-đấu-là-gì)
38 | - [Những kỳ thi Lập trình thi đấu nổi tiếng](#những-kỳ-thi-lập-trình-thi-đấu-nổi-tiếng)
39 | - [Các trang web luyện tập Thuật toán và Lập trình thi đấu](#các-trang-web-luyện-tập-thuật-toán-và-lập-trình-thi-đấu)
40 | - [Lợi ích của việc tham gia Lập trình thi đấu](#lợi-ích-của-việc-tham-gia-lập-trình-thi-đấu)
41 |
42 | ## Thuật toán là gì?
43 |
44 | - Bài viết tiếng Việt:
45 | - [Thuật toán – Wikipedia tiếng Việt](https://vi.wikipedia.org/wiki/Thu%E1%BA%ADt_to%C3%A1n)
46 | - [Tầm Quan Trọng Của Thuật Toán - VNOI Wiki](https://wiki.vnoi.info/translate/topcoder/The-Importance-of-Algorithm)
47 | - Video tiếng Việt:
48 | - [Giới thiệu về Thuật toán và Lập trình thi đấu](https://www.youtube.com/watch?v=AgwnOQbJVvU&list=PLqfkD788zZGCjhbJsmyhInVAhHBSV8Gqg&index=1)
49 | - [Thuật toán là gì?](https://www.youtube.com/watch?v=2ENmRL7pTSg)
50 | - [Học thuật toán để làm cái vẹo gì?? - Tôi đi code dạo](https://www.youtube.com/watch?v=v1OzKljVHtc)
51 | - Bài viết tiếng Anh:
52 | - [Algorithm](https://en.wikipedia.org/wiki/Algorithm)
53 | - [What is Algorithm | Introduction to Algorithms](https://www.geeksforgeeks.org/introduction-to-algorithms/)
54 | - Video tiếng Anh:
55 | - [Introduction to Algorithms](https://www.youtube.com/watch?v=0IAPZzGSbME)
56 | - [Harvard Professor Explains Algorithms in 5 Levels of Difficulty](https://www.youtube.com/watch?v=fkIvmfqX-t0)
57 | - [What exactly is an algorithm? Algorithms explained](https://www.youtube.com/watch?v=ZnBF2GeAKbo)
58 |
59 |
60 | ## Lập trình thi đấu là gì?
61 |
62 | - Bài viết tiếng Việt:
63 | - [Lập trình thi đấu - Wikipedia tiếng Việt](https://vi.wikipedia.org/wiki/L%E1%BA%ADp_tr%C3%ACnh_thi_%C4%91%E1%BA%A5u)
64 | - Video tiếng Việt:
65 | - [Giới thiệu về Thuật toán và Lập trình thi đấu](https://www.youtube.com/watch?v=AgwnOQbJVvU&list=PLqfkD788zZGCjhbJsmyhInVAhHBSV8Gqg&index=1)
66 | - [VNOI Talkshow #1: Làm thế nào để học tốt Lập trình thi đấu](https://www.youtube.com/watch?v=EPKHm5jrU4o)
67 | - Bài viết tiếng Anh:
68 | - [Competitive programming](https://en.wikipedia.org/wiki/Competitive_programming)
69 | - Video tiếng Anh:
70 | - [Starting Competitive Programming - Steps and Mistakes](https://www.youtube.com/watch?v=bVKHRtafgPc)
71 | - [Intro to Competitive Programming](https://www.youtube.com/watch?v=tZ5FBBnHfm4)
72 |
73 | ## Những kỳ thi Lập trình thi đấu nổi tiếng
74 |
75 | - Những kỳ thi tại Việt Nam:
76 | - HSG từ cấp Trường, cấp Quận/Huyện, đến cấp Quốc gia
77 | - [Kỳ thi Tin học trẻ](https://tinhoctre.vn/)
78 | - [Kỳ thi Olympic truyền thống 30/4](https://vi.wikipedia.org/wiki/Cu%E1%BB%99c_thi_Olympic_truy%E1%BB%81n_th%E1%BB%91ng_30_th%C3%A1ng_4)
79 | - Kỳ thi HSG Tin học khu vực Duyên Hải và đồng bằng Bắc Bộ
80 | - ...
81 | - Những kỳ thi trên Thế giới:
82 | - [Olympic Tin học khu vực châu Á - Thái Bình Dương (APIO - Asia-Pacific Informatics Olympiad)](https://apio2024.org/home)
83 | - [Olympic Tin học Quốc tế (IOI - International Olympiad in Informatics)](https://ioinformatics.org/)
84 | - [ACM-ICPC (Association for Computing Machinery-International Collegiate Programming Contest)](https://icpc.global/)
85 | - [Facebook Hacker Cup](https://www.facebook.com/codingcompetitions/hacker-cup)
86 | - [Google Code Jam](https://codingcompetitionsonair.withgoogle.com/)
87 | - ...
88 |
89 | ## Các trang web luyện tập Thuật toán và Lập trình thi đấu
90 |
91 | - Các trang tiếng Việt:
92 | - [VNOI Wiki](https://wiki.vnoi.info/) - VNOI là cộng đồng chia sẻ kinh nghiệm các kỳ thi lập trình & thuật toán lớn nhất và uy tín nhất tại Việt Nam hiện nay. Thư viện VNOI được xây dựng với mục đích chia sẻ kiến thức Tin học đến với tất cả mọi người
93 | - [VNOJ](https://oj.vnoi.info/) - Đây là trang Online Judge của VNOI để các bạn luyện tập
94 | - [HNOJ](https://hnoj.edu.vn/) - HNOJ (Hà Nội Online Judge) là một trang web luyện tập các bài tập lập trình với mục đích ban đầu là hỗ trợ học tập và phát triển phong trào Tin học của học sinh trường THPT chuyên Hà Nội - Amsterdam và thành phố Hà Nội
95 | - [MarisaOJ](https://marisaoj.com/) - Lộ trình được soạn theo meta các kì thi HSG và ICPC ở Việt Nam hiện tại
96 | - Các trang tiếng Anh:
97 | - [Codeforces](https://codeforces.com/) - Trang web luyện tập lập trình thi đấu lớn nhất thế giới
98 | - [USACO Guide](https://usaco.guide/) - Một trong những nguồn học và luyện tập CP uy tín nhất, có roadmap rõ ràng chia theo các cấp độ General - Bronze - Silver - Gold - Platinum - Advanced
99 | - [CSES Problem Set](https://cses.fi/problemset/) - Trang này khá hay, đa số đều là các bài classic, trong đó có cả quyển handbook cho CP, các bạn mới cày có thể cày ở đây được
100 | - [Algorithms for Competitive Programming](https://cp-algorithms.com/) - Một trang blog khá hay, gồm các bài viết được dịch từ trang e-maxx và có thêm bài viết của chính tác giả. Nội dung rất đa dạng (hiện có trên 100 bài).
101 | - [VisuAlgo](https://visualgo.net/en) - Đây là 1 trang web hỗ trợ rất tốt cho việc hiểu các cấu trúc dữ liệu cơ bản (và kể cả nâng cao)
102 | - [The Ultimate Topic List](https://codeforces.com/blog/entry/95106) - Danh sách (gần như là tất cả) các chủ đề trong lập trình thi đấu, có cả link hướng dẫn, code mẫu và danh sách bài tập
103 | - [Training roadmap for newcomers](https://codeforces.com/blog/entry/65133) - Một đống bài nhiều nguồn, có tag rõ ràng
104 | - [TopCoder](https://www.topcoder.com/tc?module=AlgoRank)
105 | - [CodeChef](https://www.codechef.com/contests)
106 | - [HackerRank](https://www.hackerrank.com/contests)
107 | - [LeetCode](https://leetcode.com/problemset/)
108 |
109 | ## Lợi ích của việc tham gia Lập trình thi đấu
110 |
111 | - Được học tập chuyên sâu về các Thuật toán, từ đó sẽ có lợi thế lớn khi theo học các trường Đại học liên quan tới ngành CNTT, đặc biệt là ở năm 1, năm 2 đại học.
112 | - Gia tăng cơ hội được nhận vào các doanh nghiệp Công nghệ hàng đầu, bởi vì các doanh nghiệp này thường phỏng vấn sinh viên mới ra trường bằng các bài test về thuật toán.
113 | - Đặc biệt với các bạn học sinh cấp 3, các bạn sẽ Có cơ hội đạt được các giải HSG Tin học, làm đẹp học bạ, hồ sơ du học và là lợi thế lớn khi xét tuyển thẳng vào các trường Đại học liên quan tới khối ngành CNTT. Nếu đạt giải HSG quốc gia sẽ được tuyển thẳng vào các trường Đại học thuộc khối ngành Kĩ thuật.
--------------------------------------------------------------------------------
/Quy hoạch động/README.md:
--------------------------------------------------------------------------------
1 | # [Tờ Mờ Sáng học Thuật toán và Lập trình thi đấu](/README.md)
2 |
3 | # Quy hoạch động
4 |
5 | > Tổng hợp danh sách những tài liệu hay và bổ ích về **Thuật toán và Lập trình thi đấu**
6 | >
7 | > Người tổng hợp: **[Trần Minh Sáng](https://www.facebook.com/sangtran.04/)**
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | ### Series video "Lên trình Thuật toán - Lập trình thi đấu":
25 |
26 | [](https://www.youtube.com/watch?v=AgwnOQbJVvU&list=PLqfkD788zZGCjhbJsmyhInVAhHBSV8Gqg&index=1)
27 |
28 | ## Cài đặt extension [Random Algorithm Topics](https://chromewebstore.google.com/detail/random-algorithm-topics/cfbnefdpfhohjhehglbjkchobnaknbkm) trên Google Chrome để học ngẫu nhiên một chủ đề trong danh sách mỗi khi mở 1 tab mới trên trình duyệt
29 |
30 |
[Install on Google Chrome](https://chromewebstore.google.com/detail/random-algorithm-topics/cfbnefdpfhohjhehglbjkchobnaknbkm)
31 |
32 |
33 |
34 | ## Nội dung chính của phần "Quy hoạch động"
35 |
36 | - [Quy hoạch động cơ bản](#quy-hoạch-động-cơ-bản)
37 | - [Quy hoạch động Bitmask](#quy-hoạch-động-bitmask)
38 | - [Quy hoạch động Chia để trị](#quy-hoạch-động-chia-để-trị)
39 | - [Tối ưu hóa quy hoạch động](#tối-ưu-hóa-quy-hoạch-động)
40 | - [Kỹ thuật bao lồi](#kỹ-thuật-bao-lồi)
41 | - [Quy hoạch động trên cây](#quy-hoạch-động-trên-cây)
42 |
43 | ## Quy hoạch động cơ bản
44 |
45 | - Bài viết tiếng Việt:
46 | - [Nhập môn Quy hoạch động - VNOI Wiki](https://wiki.vnoi.info/translate/topcoder/dynamic-programming)
47 | - [Quy hoạch động cơ bản (Phần 1) - VNOI Wiki](https://wiki.vnoi.info/algo/dp/basic-dynamic-programming-1.md)
48 | - [Quy hoạch động cơ bản (Phần 2) - VNOI Wiki](https://wiki.vnoi.info/algo/dp/basic-dynamic-programming-2.md)
49 | - [Một vài bài tập về Palindrome - VNOI Wiki](https://wiki.vnoi.info/algo/dp/palindrome-problems)
50 | - [Một số bài toán quy hoạch động điển hình - VNOI Wiki](https://wiki.vnoi.info/algo/dp/basic-problems)
51 | - [Phân tích về QHĐ - Thầy Lê Minh Hoàng - VNOI Wiki](https://wiki.vnoi.info/algo/dp/thac-mac-ve-qhd)
52 | - Video tiếng Việt:
53 | - [Quy hoạch động](https://www.youtube.com/playlist?list=PLWYOT8C61ll2KHLLKDmU4BztDPJd4w1Br)
54 | - [Thuật Toán Quy Hoạch Động - Bài Toán Dãy Con Tăng Dài Nhất ( LIS)](https://www.youtube.com/watch?v=yOMmTMAtKL4)
55 | - [Bài Toán Cái Túi Quy Hoạch Động| Bài Toán Xếp Balo ( 01 Knapsack)](https://www.youtube.com/watch?v=8JQOOiFVCMk)
56 | - [Quy Hoạch Động Tập Con Có Tổng Bằng S | Subset Sum Problem](https://www.youtube.com/watch?v=Hx3c5ewvXtU)
57 | - [Xâu Con Đối Xứng Dài Nhất Quy Hoạch Động | Longest Palindrome Substring](https://www.youtube.com/watch?v=U0i5KVN4YO0)
58 | - [Thấu hiểu thuật toán - Quy hoạch động](https://www.youtube.com/playlist?list=PLDgptIulgMt5hmL8-H9lLrgIYxgaQixGk)
59 | - [16 bài Quy Hoạch Động cơ bản [C++] (Dynamic Programming)](https://www.youtube.com/watch?v=FcPcQ7bccxM)
60 | - [4 Bước để giải bài Quy hoạch động (Dynamic Programming ) | Dùng Python Giải House Robber](https://www.youtube.com/watch?v=YeKg_-uGD-w)
61 | - [Kỹ thuật Quy hoạch động (Dynamic Programming)](https://www.youtube.com/watch?v=75pne6MTALk)
62 | - [Dp (Quy hoạch động) cơ bản 1](https://www.youtube.com/watch?v=OChChuFjQw4)
63 | - [Dp (quy hoạch động) cơ bản 2](https://www.youtube.com/watch?v=MR_JkaHNcUg)
64 | - [Học Quy Hoạch Động cùng thầy giáo dạy đội tuyển Quốc gia trong 2 tiếng bằng 2 năm học ngoài](https://www.youtube.com/watch?v=bciCg8BWfDI)
65 | - Bài viết tiếng Anh:
66 | - [Dynamic Programming: From Novice to Advanced - TopCoder](https://www.topcoder.com/thrive/articles/Dynamic%20Programming:%20From%20Novice%20to%20Advanced)
67 | - [Dynamic Programming - W3Schools](https://www.w3schools.com/dsa/dsa_ref_dynamic_programming.php)
68 | - [Dynamic Programming or DP - GeeksforGeeks](https://www.geeksforgeeks.org/dynamic-programming/)
69 | - [Dynamic Programming (DP) Tutorial with Problems - GeeksforGeeks](https://www.geeksforgeeks.org/introduction-to-dynamic-programming-data-structures-and-algorithm-tutorials/)
70 | - [Introduction to DP - USACO Guide](https://usaco.guide/gold/intro-dp?lang=cpp)
71 | - [Introduction to Dynamic Programming - cp-algorithms](https://cp-algorithms.com/dynamic_programming/intro-to-dp.html)
72 | - [Introduction to Dynamic Programming 1 - HackerEarth](https://www.hackerearth.com/practice/algorithms/dynamic-programming/introduction-to-dynamic-programming-1/tutorial/)
73 | - Video tiếng Anh:
74 | - [5 Simple Steps for Solving Dynamic Programming Problems](https://www.youtube.com/watch?v=aPQY__2H3tE)
75 | - [Dynamic Programming (DP) - Abdul Bari](https://www.youtube.com/playlist?list=PLJULIlvhz0rE83NKhnq7acXYIeA0o1dXb)
76 | - [What Is Dynamic Programming and How To Use It - CS Dojo](https://www.youtube.com/watch?v=vYquumk4nWw)
77 | - [Dynamic Programming - Tushar Roy - Coding Made Simple](https://www.youtube.com/playlist?list=PLrmLmBdmIlpsHaNTPP_jHHDx_os9ItYXr)
78 | - [Dynamic Programming - Learn to Solve Algorithmic Problems & Coding Challenges](https://www.youtube.com/watch?v=oBt53YbR9Kk)
79 | - [Dynamic Programming - NeetCode](https://www.youtube.com/playlist?list=PLot-Xpze53lcvx_tjrr_m2lgD2NsRHlNO)
80 | - [Dynamic Programming - Andrey Grehov](https://www.youtube.com/playlist?list=PLVrpF4r7WIhTT1hJqZmjP10nxsmrbRvlf)
81 | - [Dynamic Programming - WilliamFiset](https://www.youtube.com/playlist?list=PLDV1Zeh2NRsAsbafOroUBnNV8fhZa7P4u)
82 | - [Mastering Dynamic Programming - How to solve any interview problem (Part 1)](https://www.youtube.com/watch?v=Hdr64lKQ3e4)
83 | - [Mastering Dynamic Programming - A Real-Life Problem (Part 2)](https://www.youtube.com/watch?v=rE5h11FwiVw)
84 | - [Dynamic Programming lectures - Errichto Algorithms](https://www.youtube.com/playlist?list=PLl0KD3g-oDOGJUdmhFk19LaPgrfmAGQfo)
85 |
86 | ## Quy hoạch động Bitmask
87 |
88 | - Bài viết tiếng Việt:
89 | - [Quy hoạch động Bitmask - VNOI Wiki](https://wiki.vnoi.info/algo/dp/dp-bitmask)
90 | - [Quy hoạch động Bitmask](https://viblo.asia/p/quy-hoach-dong-bitmask-Yym40r85L91)
91 | - Video tiếng Việt:
92 | - [Chữa 2 bài dp bitmask cơ bản](https://www.youtube.com/watch?v=rnDh3vdC7WA)
93 | - [dp bitmask part 2](https://www.youtube.com/watch?v=zTLjFAOeE50)
94 | - [DP Bitmask](https://www.youtube.com/playlist?list=PLXvr7Y9rsSjJHHvdh05kJWXmyhSFmJs6v)
95 | - Bài viết tiếng Anh:
96 | - [Dynamic Programming and Bit Masking - HackerEarth](https://www.hackerearth.com/practice/algorithms/dynamic-programming/bit-masking/tutorial/)
97 | - [Count Ways To Assign Unique Cap To Every Person - GeeksforGeeks](https://www.geeksforgeeks.org/bitmasking-and-dynamic-programming-set-1-count-ways-to-assign-unique-cap-to-every-person/)
98 | - [DP with Bitmasks](https://cp.cyberlabs.club/docs/roadmap/advanced/dp-with-bitmasks/)
99 | - [Bitmask DP - USACO Guide](https://usaco.guide/gold/dp-bitmasks?lang=cpp)
100 | - [Introduction to DP with Bitmasking](https://codeforces.com/blog/entry/81516)
101 | - Video tiếng Anh:
102 | - [DP with Bitmasks](https://www.youtube.com/playlist?list=PLb3g_Z8nEv1icFNrtZqByO1CrWVHLlO5g)
103 | - [Dynamic Programming with Bitmask Made Simple | All Subform explained | Bitmask DP Practice problems](https://www.youtube.com/watch?v=JvsGLRxK4NQ)
104 | - [Dynamic Programming with Bitmasks](https://www.youtube.com/watch?v=bjucBkxrMBs)
105 | - [Dynamic Programming Bootcamp](https://www.youtube.com/playlist?list=PLAj_13N2fk-RA6wvOUmWOyUeL9zmWFJoI)
106 |
107 | ## Quy hoạch động Chia để trị
108 |
109 | - Bài viết tiếng Việt:
110 | - [Quy hoạch động chia để trị (Divide and Conquer DP) - VNOI Wiki](https://wiki.vnoi.info/algo/dp/dpdnc)
111 | - Bài viết tiếng Anh:
112 | - [Divide and Conquer DP - cp-algorithms](https://cp-algorithms.com/dynamic_programming/divide-and-conquer-dp.html)
113 | - [Divide & Conquer - DP - USACO Guide](https://usaco.guide/plat/DC-DP?lang=cpp)
114 | - [Divide and Conquer Optimization in Dynamic Programming - GeeksforGeeks](https://www.geeksforgeeks.org/divide-and-conquer-optimization-in-dynamic-programming/)
115 | - Video tiếng Anh:
116 | - [Divide & Conquer Algorithm In 3 Minutes](https://www.youtube.com/watch?v=YOh6hBtX5l0)
117 | - [Divide & Conquer Dynamic Programming Optimisation, CSES Subarray Squares](https://www.youtube.com/watch?v=Ec3fSWk9JOw)
118 |
119 | ## Tối ưu hóa quy hoạch động
120 |
121 | - Bài viết tiếng Việt:
122 | - [Một số kĩ thuật tối ưu hoá thuật toán Quy Hoạch Động - VNOI Wiki](https://wiki.vnoi.info/algo/dp/Mot-so-ky-thuat-toi-uu-hoa-thuat-toan-Quy-Hoach-Dong)
123 | - [Tối ưu quy hoạch động 1 chiều - VNOI Wiki](https://wiki.vnoi.info/vnoi-magazine/2023/1d1d-dp-optimization)
124 |
125 | ## Kỹ thuật bao lồi
126 |
127 | - Bài viết tiếng Việt:
128 | - [Kĩ thuật bao lồi (Convex Hull Trick) - VNOI Wiki](https://wiki.vnoi.info/translate/wcipeg/Convex-Hull-Trick)
129 | - Video tiếng Việt:
130 | - [Quy hoạch động bao lồi - ACQUIRE (USACO Mar08)](https://www.youtube.com/watch?v=lzVeq8lmTlA)
131 | - [Bao lồi - Bùi Việt Dũng](https://www.youtube.com/watch?v=ZibwAtfVnZU)
132 | - Bài viết tiếng Anh:
133 | - [Convex hull trick](https://wcipeg.com/wiki/Convex_hull_trick)
134 | - [Convex Hull Trick - USACO Guide](https://usaco.guide/plat/convex-hull-trick?lang=cpp)
135 | - [[Tutorial] Convex Hull Trick — Geometry being useful - Codeforces Blog](https://codeforces.com/blog/entry/63823)
136 | - [Dynamic Programming Optimizations - Codeforces Blog](https://codeforces.com/blog/entry/8219)
137 | - [Fully Persistent Convex Hull Trick - Codeforces Blog](https://codeforces.com/blog/entry/51684)
138 | - [[Tutorial] DP Optimization: Convex Hull Trick](https://www.yohandi.me/blog/convex-hull-trick/)
139 | - [Convex Hull Trick](https://jeffreyxiao.me/blog/convex-hull-trick)
140 | - [Convex hull trick and Li Chao tree - cp-algorithms](https://cp-algorithms.com/geometry/convex_hull_trick.html)
141 | - Video tiếng Anh:
142 | - [Convex Hull Optimization](https://www.youtube.com/watch?v=OrH2ah4ylv4)
143 | - [Dynamic Programming Optimizations (Segment Tree, Convex Hull Trick)](https://www.youtube.com/watch?v=KX_-7AqcnEU)
144 | - [Convex Hull Trick - Dynamic Programming Optimisation](https://www.youtube.com/watch?v=HnZKQJtGeHs)
145 | - [Convex Hull Trick(CHT) For Competitive Programming](https://www.youtube.com/watch?v=u-kNMIVNbjo)
146 | - [Convex Hull Trick Visualisation](https://www.youtube.com/watch?v=qTE1OSUNR3w)
147 |
148 | ## Quy hoạch động trên cây
149 |
150 | - Bài viết tiếng Việt:
151 | - [Quy hoạch động trên cây - VNOI Wiki](https://wiki.vnoi.info/vi/algo/dp/treedp%20)
152 | - [Quy hoạch động trên cây](https://viblo.asia/p/quy-hoach-dong-tren-cay-LzD5d9B4KjY)
153 | - [Quy hoạch động trên cây (DP on tree)](https://hackmd.io/@hatakaze/dpontreeuwu)
154 | - Bài viết tiếng Anh:
155 | - [DP on Trees - Introduction - USACO Guide](https://usaco.guide/gold/dp-trees?lang=cpp)
156 | - [DP on Trees - Combining Subtrees - USACO Guide](https://usaco.guide/adv/comb-sub?lang=cpp)
157 | - [DP on Trees Tutorial - Codeforces Blog](https://codeforces.com/blog/entry/20935)
158 | - [Introduction to Dynamic Programming on Trees - GeeksforGeeks](https://www.geeksforgeeks.org/introduction-to-dynamic-programming-on-trees/)
159 | - [DP on Trees for Competitive Programming - GeeksforGeeks](https://www.geeksforgeeks.org/dp-on-trees-for-competitive-programming/)
160 | - Video tiếng Anh:
161 | - [DP on Trees(Beginner to advanced)](https://www.youtube.com/playlist?list=PLb3g_Z8nEv1j_BC-fmZWHFe6jmU_zv-8s)
162 | - [Codeforces DP on Trees Course](https://www.youtube.com/playlist?list=PLzVLIdIx9dQxCKaiktxELrtXtnItgAAIr)
163 | - [DP on Trees | Dynamic Programming](https://www.youtube.com/playlist?list=PLEI-q7w3s9gQkpM1_u1s9yFAeh2-WzBw2)
164 | - [DP On Trees - Codeforces, Appleman & Tree, Sanyam Bhayia | Dynamic Programming](https://www.youtube.com/watch?v=38yRq24Zpu4)
165 | - [Dynamic programming on Trees Introduction and Identification](https://www.youtube.com/watch?v=qZ5zayHSH2g)
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # [Tờ Mờ Sáng học Thuật toán và Lập trình thi đấu](/README.md)
2 |
3 | > Tổng hợp danh sách những tài liệu hay và bổ ích về **Thuật toán và Lập trình thi đấu**
4 | >
5 | > Người tổng hợp: **[Trần Minh Sáng](https://www.facebook.com/sangtran.04/)**
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | ## Star History
23 |
24 | [](https://www.star-history.com/#tmsanghoclaptrinh/tmsang-hoc-thuat-toan&Date)
25 |
26 | ### Series video "Lên trình Thuật toán - Lập trình thi đấu":
27 |
28 | [](https://www.youtube.com/watch?v=AgwnOQbJVvU&list=PLqfkD788zZGCjhbJsmyhInVAhHBSV8Gqg&index=1)
29 |
30 | ## Cài đặt extension [Random Algorithm Topics](https://chromewebstore.google.com/detail/random-algorithm-topics/cfbnefdpfhohjhehglbjkchobnaknbkm) trên Google Chrome để học ngẫu nhiên một chủ đề trong danh sách mỗi khi mở 1 tab mới trên trình duyệt
31 |
32 |
[Install on Google Chrome](https://chromewebstore.google.com/detail/random-algorithm-topics/cfbnefdpfhohjhehglbjkchobnaknbkm)
33 |
34 |
35 |
36 | ## Nội dung chính
37 |
38 | - [Nhập môn](#nhập-môn)
39 | - [Sách hay về Thuật toán và Lập trình thi đấu](#sách-hay-về-thuật-toán-và-lập-trình-thi-đấu)
40 | - [Toán học trong lập trình thi đấu](#toán-học-trong-lập-trình-thi-đấu)
41 | - [Kỹ thuật lập trình](#kỹ-thuật-lập-trình)
42 | - [Các thuật toán sắp xếp](#các-thuật-toán-sắp-xếp)
43 | - [Các thuật toán tìm kiếm](#các-thuật-toán-tìm-kiếm)
44 | - [Cấu trúc dữ liệu (Data Structures)](#cấu-trúc-dữ-liệu-data-structures)
45 | - [Tham lam](#tham-lam)
46 | - [Quy hoạch động](#quy-hoạch-động)
47 | - [Thiết kế giải thuật](#thiết-kế-giải-thuật)
48 | - [Range Queries](#range-queries)
49 | - [Đồ thị](#đồ-thị)
50 | - [Cây](#cây)
51 | - [Hình học](#hình-học)
52 | - [Xử lý chuỗi](#xử-lý-chuỗi)
53 | - [Các chủ đề nâng cao](#các-chủ-đề-nâng-cao)
54 | - [Một số chủ đề khác](#một-số-chủ-đề-khác)
55 |
56 | ## [Nhập môn](/Nhập%20môn/README.md)
57 |
58 | - [Thuật toán là gì?](/Nhập%20môn/README.md#thuật-toán-là-gì)
59 | - [Lập trình thi đấu là gì?](/Nhập%20môn/README.md#lập-trình-thi-đấu-là-gì)
60 | - [Những kỳ thi Lập trình thi đấu nổi tiếng](/Nhập%20môn/README.md#những-kỳ-thi-lập-trình-thi-đấu-nổi-tiếng)
61 | - [Các trang web luyện tập Thuật toán và Lập trình thi đấu](/Nhập%20môn/README.md#các-trang-web-luyện-tập-thuật-toán-và-lập-trình-thi-đấu)
62 | - [Lợi ích của việc tham gia Lập trình thi đấu](/Nhập%20môn/README.md#lợi-ích-của-việc-tham-gia-lập-trình-thi-đấu)
63 |
64 | ## [Sách hay về Thuật toán và Lập trình thi đấu](#sách-hay-về-thuật-toán-và-lập-trình-thi-đấu)
65 |
66 | - [Competitive Programming - Steven Halim](https://files.gitter.im/SamZhangQingChuan/sam/DA1g/Steven-Halim_-Felix-Halim-Competitive-Programming-3_-The-New-Lower-Bound-of-Programming-Contests-Lulu.com-_2013_.pdf)
67 | - [Introduction to Algorithms - Bản dịch tiếng Việt](https://drive.google.com/file/d/0B2B4YFwy4LhWWl9NV2pyQno1S0U/view?resourcekey=0-soNqn2omBd1JNaDUZSsh5g)
68 | - [Giải thuật và lập trình (DSAP) - thầy Lê Minh Hoàng](https://drive.google.com/file/d/0BwcTB8a10LBwV1J3T2xDTGhQNmM/view?resourcekey=0-R4tnYInPWCKb5W_DK_JQwQ)
69 | - Tài liệu giáo khoa chuyên Tin
70 | - [Quyển 1](https://drive.google.com/file/d/0BwcTB8a10LBweWxNcExnVzF5dG8/view?resourcekey=0-WKR6p7r5Djmi--uvQnT-pg)
71 | - [Quyển 2](https://drive.google.com/file/d/0BwcTB8a10LBwY2kzV0dTMEhYb0E/view?resourcekey=0-jwmNe4E3bBtidsboHXQPSA)
72 | - [Quyển 3 - phần 1](https://drive.google.com/file/d/0BwcTB8a10LBwTFBGREdfbnNFYXM/view?resourcekey=0-xVwjQFoXV4OFwpoVHWywyg)
73 | - [Quyển 3 - phần 2](https://drive.google.com/file/d/1c1dQaNG5XAZWGo3oTA_4mGwubG3LRqni/view)
74 | - [Competitive Programmer's Handbook](https://cses.fi/book/book.pdf)
75 | - [Guide To Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
76 | - [The Art Of Computer Programming - Donald Knuth](https://github.com/manjunath5496/The-Art-of-Computer-Programming-Books)
77 | - KC Book
78 | - [Quyển 1](https://drive.google.com/file/d/0B6O77opfHxDDV1lxdF9jWHVUZDA/view?resourcekey=0-bLURXsP9BNX7O6W1izMEjQ)
79 | - [Quyển 3](https://drive.google.com/file/d/0BwcTB8a10LBwSmZFdGhSY1lMNVU/view?resourcekey=0-POIEScAwD22aQFyr2mBfaw)
80 | - [Một số vấn đề đáng chú ý trong môn Tin học](https://drive.google.com/file/d/0BwcTB8a10LBwZHh0c3p0M2NqZ1E/view?resourcekey=0-sGBMwRWJQF0-oV27ula5Mg)
81 | - [Chuyên đề bồi dưỡng học sinh giỏi Toán Trung học phổ thông - Số học](https://drive.google.com/file/d/1DfMulADwC9DWOW6aFGtnxykGfWY6YD7Y/view)
82 |
83 | ## [Toán học trong lập trình thi đấu](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md)
84 |
85 | - [Kiến thức nền tảng](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#kiến-thức-nền-tảng)
86 | - [Hệ cơ số](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#hệ-cơ-số)
87 | - [Cấp số cộng](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#cấp-số-cộng)
88 | - [Cấp số nhân](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#cấp-số-nhân)
89 | - [Lý thuyết tập hợp](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#lý-thuyết-tập-hợp)
90 | - [Đại số logic](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#đại-số-logic)
91 | - [Logarithm](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#logarithm)
92 | - [Số học](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#số-học)
93 | - [Modulo](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#modulo)
94 | - [Nghịch đảo modulo](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#nghịch-đảo-modulo)
95 | - [Số nguyên tố](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#số-nguyên-tố)
96 | - [Sàng nguyên tố](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#sàng-nguyên-tố)
97 | - [Giải thuật Euclid](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#giải-thuật-euclid)
98 | - [Lũy thừa modulo](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#lũy-thừa-modulo)
99 | - [Lũy thừa nhị phân](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#lũy-thừa-nhị-phân)
100 | - [Phi hàm Euler](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#phi-hàm-euler)
101 | - [Giải phương trình](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#giải-phương-trình)
102 | - [Định lý Wilson](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#định-lý-wilson)
103 | - [Hàm Mobius](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#hàm-mobius)
104 | - [Hàm nhân tính](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#hàm-nhân-tính)
105 | - [Tổ hợp](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#tổ-hợp)
106 | - [Hệ số nhị thức](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#hệ-số-nhị-thức)
107 | - [Dãy số Catalan](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#dãy-số-catalan)
108 | - [Bao hàm - Loại trừ](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#bao-hàm---loại-trừ)
109 | - [Bổ đề Burnside](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#bổ-đề-burnside)
110 | - [Công thức Cayley](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#công-thức-cayley)
111 | - [Biến đổi Fourier nhanh - FFT](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#biến-đổi-fourier-nhanh---fft)
112 | - [Ma trận](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#ma-trận)
113 | - [Nhân ma trận](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#nhân-ma-trận)
114 | - [Khử nhân ma trận](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#khử-nhân-ma-trận)
115 | - [Truy hồi tuyến tính](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#truy-hồi-tuyến-tính)
116 | - [Ma trận kề](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#ma-trận-kề)
117 | - [Phép khử Gauss](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#phép-khử-gauss)
118 | - [Xác suất](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#xác-suất)
119 | - [Biến cố](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#biến-cố)
120 | - [Biến ngẫu nhiên](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#biến-ngẫu-nhiên)
121 | - [Chuỗi Markov](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#chuỗi-markov)
122 | - [Thuật toán ngẫu nhiên](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#thuật-toán-ngẫu-nhiên)
123 | - [Lý thuyết trò chơi](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#lý-thuyết-trò-chơi)
124 | - [Game State](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#game-state)
125 | - [Trò chơi Nim](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#trò-chơi-nim)
126 | - [Định lý Sprague–Grundy](/Toán%20học%20trong%20lập%20trình%20thi%20đấu/README.md#định-lý-spraguegrundy)
127 |
128 | ## [Kỹ thuật lập trình](/Kỹ%20thuật%20lập%20trình/README.md)
129 |
130 | - [Ngôn ngữ lập trình C++](/Kỹ%20thuật%20lập%20trình/README.md#ngôn-ngữ-lập-trình-c)
131 | - [Cách tiếp cận bài toán](/Kỹ%20thuật%20lập%20trình/README.md#cách-tiếp-cận-bài-toán)
132 | - [Độ phức tạp](/Kỹ%20thuật%20lập%20trình/README.md#độ-phức-tạp)
133 | - [Đệ quy](/Kỹ%20thuật%20lập%20trình/README.md#đệ-quy)
134 | - [Thao tác với bit](/Kỹ%20thuật%20lập%20trình/README.md#thao-tác-với-bit)
135 |
136 | ## [Các thuật toán sắp xếp](/Các%20thuật%20toán%20sắp%20xếp/README.md)
137 |
138 | - [Sắp xếp nổi bọt (Bubble sort)](/Các%20thuật%20toán%20sắp%20xếp/README.md#sắp-xếp-nổi-bọt-bubble-sort)
139 | - [Sắp xếp chèn (Insertion sort)](/Các%20thuật%20toán%20sắp%20xếp/README.md#sắp-xếp-chèn-insertion-sort)
140 | - [Sắp xếp trộn (Merge sort)](/Các%20thuật%20toán%20sắp%20xếp/README.md#sắp-xếp-trộn-merge-sort)
141 | - [Sắp xếp chọn (Selection sort)](/Các%20thuật%20toán%20sắp%20xếp/README.md#sắp-xếp-chọn-selection-sort)
142 | - [Sắp xếp vun đống (Heap sort)](/Các%20thuật%20toán%20sắp%20xếp/README.md#sắp-xếp-vun-đống-heap-sort)
143 | - [Sắp xếp nhanh (Quick sort)](/Các%20thuật%20toán%20sắp%20xếp/README.md#sắp-xếp-nhanh-quick-sort)
144 | - [Sắp xếp cơ số (Radix sort)](/Các%20thuật%20toán%20sắp%20xếp/README.md#sắp-xếp-cơ-số-radix-sort)
145 | - [Sắp xếp đếm phân phối (Counting sort)](/Các%20thuật%20toán%20sắp%20xếp/README.md#sắp-xếp-đếm-phân-phối-counting-sort)
146 |
147 | ## [Các thuật toán tìm kiếm](/Các%20thuật%20toán%20tìm%20kiếm/README.md)
148 |
149 | - [Tìm kiếm tuần tự (Linear search)](/Các%20thuật%20toán%20tìm%20kiếm/README.md#tìm-kiếm-tuần-tự-linear-search)
150 | - [Tìm kiếm nhị phân (Binary search)](/Các%20thuật%20toán%20tìm%20kiếm/README.md#tìm-kiếm-nhị-phân-binary-search)
151 | - [Tìm kiếm tam phân (Ternary search)](/Các%20thuật%20toán%20tìm%20kiếm/README.md#tìm-kiếm-tam-phân-ternary-search)
152 | - [Tìm kiếm nhảy (Jump search)](/Các%20thuật%20toán%20tìm%20kiếm/README.md#tìm-kiếm-nhảy-jump-search)
153 | - [Tìm kiếm nội suy (Interpolation search)](/Các%20thuật%20toán%20tìm%20kiếm/README.md#tìm-kiếm-nội-suy-interpolation-search)
154 |
155 | ## [Cấu trúc dữ liệu (Data Structures)](/Cấu%20trúc%20dữ%20liệu/README.md)
156 |
157 | - [Tổng quan về cấu trúc dữ liệu](/Cấu%20trúc%20dữ%20liệu/README.md#tổng-quan-về-cấu-trúc-dữ-liệu)
158 | - [Mảng (Array) và Danh sách liên kết (Linked list)](/Cấu%20trúc%20dữ%20liệu/README.md#mảng-array-và-danh-sách-liên-kết-linked-list)
159 | - [Dynamic Array](/Cấu%20trúc%20dữ%20liệu/README.md#dynamic-array)
160 | - [Ngăn xếp (Stack)](/Cấu%20trúc%20dữ%20liệu/README.md#ngăn-xếp-stack)
161 | - [Hàng đợi (Queue)](/Cấu%20trúc%20dữ%20liệu/README.md#hàng-đợi-queue)
162 | - [Set và Multiset](/Cấu%20trúc%20dữ%20liệu/README.md#set-và-multiset)
163 | - [Hàng đợi ưu tiên (Priority Queue)](/Cấu%20trúc%20dữ%20liệu/README.md#hàng-đợi-ưu-tiên-priority-queue)
164 | - [Mảng cộng dồn và mảng hiệu](/Cấu%20trúc%20dữ%20liệu/README.md#mảng-cộng-dồn-và-mảng-hiệu)
165 | - [Deque và tìm min max trên đoạn tịnh tiến](/Cấu%20trúc%20dữ%20liệu/README.md#deque-và-tìm-min-max-trên-đoạn-tịnh-tiến)
166 | - [Heap](/Cấu%20trúc%20dữ%20liệu/README.md#heap)
167 | - [Bảng băm (Hash table)](/Cấu%20trúc%20dữ%20liệu/README.md#bảng-băm-hash-table)
168 | - [Disjoint Set Union (DSU)](/Cấu%20trúc%20dữ%20liệu/README.md#disjoint-set-union-dsu)
169 | - [Cây Phân Đoạn (Segment Tree)](/Cấu%20trúc%20dữ%20liệu/README.md#cây-phân-đoạn-segment-tree)
170 | - [Chia căn](/Cấu%20trúc%20dữ%20liệu/README.md#chia-căn)
171 | - [Fenwick Tree (Binary Indexed Tree)](/Cấu%20trúc%20dữ%20liệu/README.md#fenwick-tree-binary-indexed-tree)
172 | - [Heavy Light Decomposition (HLD)](/Cấu%20trúc%20dữ%20liệu/README.md#heavy-light-decomposition-hld)
173 | - [Persistent Data Structures](/Cấu%20trúc%20dữ%20liệu/README.md#persistent-data-structures)
174 | - [Lowest Common Ancestor (LCA) - Binary Lifting](/Cấu%20trúc%20dữ%20liệu/README.md#lowest-common-ancestor-lca---binary-lifting)
175 | - [Bài toán RMQ & bài toán LCA](/Cấu%20trúc%20dữ%20liệu/README.md#bài-toán-rmq--bài-toán-lca)
176 | - [Trie](/Cấu%20trúc%20dữ%20liệu/README.md#trie)
177 | - [Suffix Array](/Cấu%20trúc%20dữ%20liệu/README.md#suffix-array)
178 | - [Skip List](/Cấu%20trúc%20dữ%20liệu/README.md#skip-list)
179 | - [Range Tree](/Cấu%20trúc%20dữ%20liệu/README.md#range-tree)
180 |
181 | ## [Tham lam](/Tham%20lam/README.md)
182 |
183 | - [Tham lam](/Tham%20lam/README.md#tham-lam)
184 |
185 | ## [Quy hoạch động](/Quy%20hoạch%20động/README.md)
186 |
187 | - [Quy hoạch động cơ bản](/Quy%20hoạch%20động/README.md#quy-hoạch-động-cơ-bản)
188 | - [Quy hoạch động Bitmask](/Quy%20hoạch%20động/README.md#quy-hoạch-động-bitmask)
189 | - [Quy hoạch động Chia để trị](/Quy%20hoạch%20động/README.md#quy-hoạch-động-chia-để-trị)
190 | - [Tối ưu hóa quy hoạch động](/Quy%20hoạch%20động/README.md#tối-ưu-hóa-quy-hoạch-động)
191 | - [Kỹ thuật bao lồi](/Quy%20hoạch%20động/README.md#kỹ-thuật-bao-lồi)
192 | - [Quy hoạch động trên cây](/Quy%20hoạch%20động/README.md#quy-hoạch-động-trên-cây)
193 |
194 | ## [Thiết kế giải thuật](/Thiết%20kế%20giải%20thuật/README.md)
195 |
196 | - [Bit-Parallel Algorithms](/Thiết%20kế%20giải%20thuật/README.md#bit-parallel-algorithms)
197 | - [Hamming Distances](/Thiết%20kế%20giải%20thuật/README.md#hamming-distances)
198 | - [Counting Subgrids](/Thiết%20kế%20giải%20thuật/README.md#counting-subgrids)
199 | - [Reachability in Graphs](/Thiết%20kế%20giải%20thuật/README.md#reachability-in-graphs)
200 | - [Amortized Analysis](/Thiết%20kế%20giải%20thuật/README.md#amortized-analysis)
201 | - [Two Pointers Method](/Thiết%20kế%20giải%20thuật/README.md#two-pointers-method)
202 | - [Nearest Smaller Elements](/Thiết%20kế%20giải%20thuật/README.md#nearest-smaller-elements)
203 | - [Sliding Window Minimum](/Thiết%20kế%20giải%20thuật/README.md#sliding-window-minimum)
204 | - [Finding Minimum Values](/Thiết%20kế%20giải%20thuật/README.md#finding-minimum-values)
205 | - [Ternary Search](/Thiết%20kế%20giải%20thuật/README.md#ternary-search)
206 | - [Convex Functions](/Thiết%20kế%20giải%20thuật/README.md#convex-functions)
207 | - [Minimizing Sums](/Thiết%20kế%20giải%20thuật/README.md#minimizing-sums)
208 |
209 | ## [Range Queries](/Range%20Queries/README.md)
210 |
211 | Đang cập nhật
212 |
213 | - [Queries on Static Arrays](/Range%20Queries/README.md#queries-on-static-arrays)
214 | - [Sum Queries](/Range%20Queries/README.md#sum-queries)
215 | - [Minimum Queries](/Range%20Queries/README.md#minimum-queries)
216 | - [Tree Structures](/Range%20Queries/README.md#tree-structures)
217 | - [Binary Indexed Trees](/Range%20Queries/README.md#binary-indexed-trees)
218 | - [Segment Trees](/Range%20Queries/README.md#segment-trees)
219 | - [Additional Techniques](/Range%20Queries/README.md#additional-techniques)
220 |
221 | ## Đồ thị
222 |
223 | - Đang cập nhật
224 |
225 | ## Cây
226 |
227 | - Đang cập nhật
228 |
229 | ## Hình học
230 |
231 | - Đang cập nhật
232 |
233 | ## Xử lý chuỗi
234 |
235 | - Đang cập nhật
236 |
237 | ## Các chủ đề nâng cao
238 |
239 | - Đang cập nhật
240 |
241 | ## Một số chủ đề khác
242 |
243 | - Đang cập nhật
244 |
--------------------------------------------------------------------------------
/Range Queries/README.md:
--------------------------------------------------------------------------------
1 | # [Tờ Mờ Sáng học Thuật toán và Lập trình thi đấu](/README.md)
2 |
3 | # Range Queries
4 |
5 | > Tổng hợp danh sách những tài liệu hay và bổ ích về **Thuật toán và Lập trình thi đấu**
6 | >
7 | > Người tổng hợp: **[Trần Minh Sáng](https://www.facebook.com/sangtran.04/)**
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | ### Series video "Lên trình Thuật toán - Lập trình thi đấu":
25 |
26 | [](https://www.youtube.com/watch?v=AgwnOQbJVvU&list=PLqfkD788zZGCjhbJsmyhInVAhHBSV8Gqg&index=1)
27 |
28 | ## Cài đặt extension [Random Algorithm Topics](https://chromewebstore.google.com/detail/random-algorithm-topics/cfbnefdpfhohjhehglbjkchobnaknbkm) trên Google Chrome để học ngẫu nhiên một chủ đề trong danh sách mỗi khi mở 1 tab mới trên trình duyệt
29 |
30 |
[Install on Google Chrome](https://chromewebstore.google.com/detail/random-algorithm-topics/cfbnefdpfhohjhehglbjkchobnaknbkm)
31 |
32 |
33 |
34 | ## Nội dung chính của phần "Range Queries"
35 |
36 | - [Queries on Static Arrays](#queries-on-static-arrays)
37 | - [Sum Queries](#sum-queries)
38 | - [Minimum Queries](#minimum-queries)
39 | - [Tree Structures](#tree-structures)
40 | - [Binary Indexed Trees](#binary-indexed-trees)
41 | - [Segment Trees](#segment-trees)
42 | - [Additional Techniques](#additional-techniques)
43 |
44 | ## Queries on Static Arrays
45 |
46 | ### Sum Queries
47 |
48 | - Bài viết tiếng Anh:
49 | - Mục ***9.1.1 Sum Queries*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
50 | - [Range sum queries without updates](https://www.geeksforgeeks.org/range-sum-queries-without-updates/)
51 | - [CSES Range Queries solutions - Codeforces Blog](https://codeforces.com/blog/entry/128045)
52 | - Video tiếng Anh:
53 | - [Range Sum Query 2D - Immutable - Leetcode 304 - Python](https://www.youtube.com/watch?v=KE8MQuwE2yA)
54 | - [Range Sum Query Immutable - Leetcode 303 - Python](https://www.youtube.com/watch?v=2pndAmo_sMA)
55 | - [Prefix Sum Array and Range Sum Queries](https://www.youtube.com/watch?v=xbYr9JOC2Lk)
56 | - [Range Sum Query 2D](https://www.youtube.com/watch?v=tk0Twx2VQy8)
57 |
58 | ### Minimum Queries
59 |
60 | - Bài viết tiếng Việt:
61 | - [Bài toán RMQ và bài toán LCA - Binary Lifting - VNOI Wiki](https://wiki.vnoi.info/translate/topcoder/Range-Minimum-Query-and-Lowest-Common-Ancestor)
62 | - [Bài toán RMQ và bài toán LCA - VNOI Wiki](http://chuyen-vonguyengiapqb.edu.vn/tin-tuc-thong-bao/to-chuyen-mon/tin/bai-toan-rmq-va-bai-toan-lca.html)
63 | - [Range Minimum Query (RMQ) - Sparse Table - VNOI Wiki](https://wiki.vnoi.info/algo/data-structures/rmq)
64 | - [Bảng thưa (Sparse Table) - Cấu trúc dữ liệu rất mạnh để giải quyết bài toán Range Minimum Queries (RMQ)](https://viblo.asia/p/bang-thua-sparse-table-MkNLrZPlLgA)
65 | - [Range Minimum Query (RMQ) – Sparse Table](https://codedream.edu.vn/rmq-sparse-table/)
66 | - Video tiếng Việt:
67 | - [SparseTable (RMQ) - YugiHacker](https://www.youtube.com/watch?v=IQndef9owDU)
68 | - [Sparse Table](https://www.youtube.com/playlist?list=PLXvr7Y9rsSjIjqWqWp5ghJ3EaSCnnvMkL)
69 | - Bài viết tiếng Anh:
70 | - Mục ***9.1.2 Minimum Queries*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
71 | - [Range Minimum Query and Lowest Common Ancestor - TopCoder](https://www.topcoder.com/thrive/articles/Range%20Minimum%20Query%20and%20Lowest%20Common%20Ancestor)
72 | - [Range minimum query - Wikipedia](https://en.wikipedia.org/wiki/Range_minimum_query#:~:text=In%20computer%20science%2C%20a%20range,common%20prefix%20problem%20(LCP).)
73 | - [Range Minimum Query - cp-algorithms](https://cp-algorithms.com/sequences/rmq.html)
74 | - [Solve RMQ (Range Minimum Query) by finding LCA (Lowest Common Ancestor) - cp-algorithms](https://cp-algorithms.com/graph/rmq_linear.html)
75 | - [Range Minimum Query (Square Root Decomposition and Sparse Table) - GeeksforGeeks](https://www.geeksforgeeks.org/range-minimum-query-for-static-array/)
76 | - [Range Minimum Queries - Đại học Standford](https://web.stanford.edu/class/cs166/lectures/01/Small01.pdf)
77 | - Video tiếng Anh:
78 | - [Sparse Table & RMQ (Range Minimum Query)](https://www.youtube.com/watch?v=0jWeUdxrGm4)
79 | - [Sparse Table Algorithm Range Minimum Query](https://www.youtube.com/watch?v=c5O7E_PDO4U)
80 | - [Segment Tree Range Minimum Query](https://www.youtube.com/watch?v=ZBHKZF5w4YU&t=24s)
81 | - [Sparse Table Data Structure](https://www.youtube.com/watch?v=uUatD9AudXo)
82 | - [Range minimum query | 3 methods](https://www.youtube.com/watch?v=DpSYj7t1sbQ)
83 | - [AlgorithmsThread 2: RMQ Tricks](https://www.youtube.com/watch?v=GWXf3vVtf-c)
84 |
85 | ## Tree Structures
86 |
87 | ### Binary Indexed Trees
88 |
89 | - Bài viết tiếng Việt:
90 | - [Cây chỉ số nhị phân (Binary Indexed Tree) - VNOI Wiki](https://wiki.vnoi.info/algo/data-structures/fenwick)
91 | - [Cây chỉ số nhị phân 2 chiều (BIT 2 chiều) - VNOI Wiki](https://wiki.vnoi.info/algo/data-structures/fenwick-2d)
92 | - [Cấu trúc dữ liệu BIT – Binary Indexed Tree (Fenwick Tree)](https://viblo.asia/p/cau-truc-du-lieu-bit-binary-indexed-tree-fenwick-tree-Az45bWvNKxY)
93 | - [Fenwick Tree - HowKteam](https://howkteam.vn/course/cau-truc-du-lieu-va-giai-thuat/fenwick-tree-4328)
94 | - Video tiếng Việt:
95 | - [BIT (Fenwick Tree) - Cây chỉ số nhị phân [C++] - YugiHacker](https://www.youtube.com/watch?v=KChpxPuKqoI)
96 | - [Fenwick Tree - cây nhị phân nhưng không hề nhị phân - GSPVHCUTE](https://www.youtube.com/watch?v=lwWD73kR1IA)
97 | - [Binary Indexed Tree](https://www.youtube.com/playlist?list=PLXvr7Y9rsSjLf5X0X2CpmEwDCmxToZFYx)
98 | - Bài viết tiếng Anh:
99 | - Mục ***9.2.1 Binary Indexed Trees*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
100 | - [Fenwick Tree - cp-algorithms](https://cp-algorithms.com/data_structures/fenwick.html)
101 | - [Binary Indexed Tree or Fenwick Tree - HackerEarth](https://www.hackerearth.com/practice/notes/binary-indexed-tree-or-fenwick-tree/)
102 | - [Fenwick tree - Wikipedia](https://en.wikipedia.org/wiki/Fenwick_tree)
103 | - [Binary Indexed Tree or Fenwick Tree - GeeksforGeeks](https://www.geeksforgeeks.org/binary-indexed-tree-or-fenwick-tree-2/)
104 | - [Fenwick Tree (Binary Indexed Tree) for Competitive Programming - GeeksforGeeks](https://www.geeksforgeeks.org/fenwick-tree-for-competitive-programming/)
105 | - [Binary Indexed Trees - TopCoder](https://www.topcoder.com/thrive/articles/Binary%20Indexed%20Trees)
106 | - [Understanding Fenwick Trees / Binary Indexed Trees - Codeforces Blog](https://codeforces.com/blog/entry/57292)
107 | - [VisuAlgo](https://visualgo.net/en/fenwicktree?slide=1)
108 | - Video tiếng Anh:
109 | - [Fenwick Tree or Binary Indexed Tree](https://www.youtube.com/watch?v=CWDQJGaN1gY)
110 | - [Fenwick Tree (Binary Index Tree) - Quick Tutorial and Source Code Explanation](https://www.youtube.com/watch?v=uSFzHCZ4E-8)
111 | - [Fenwick Tree range queries](https://www.youtube.com/watch?v=RgITNht_f4Q)
112 | - [Binary Indexed Tree or Fenwick Tree | Construction and Operations | GeeksforGeeks](https://www.youtube.com/watch?v=4SNzC4uNmTA)
113 | - [Tutorial: Binary Indexed Tree (Fenwick Tree)](https://www.youtube.com/watch?v=v_wj_mOAlig)
114 |
115 | ### Segment Trees
116 |
117 | - Bài viết tiếng Việt:
118 | - [Cây Phân Đoạn (cơ bản) - VNOI Wiki](https://wiki.vnoi.info/vi/algo/data-structures/segment-tree-basic)
119 | - [Tất tần tật về Cây Phân Đoạn (Segment Tree) - VNOI Wiki](https://wiki.vnoi.info/vi/algo/data-structures/segment-tree-extend)
120 | - [Cài đặt cây phân đoạn hiệu quả (Efficient and easy segment trees) - VNOI Wiki](https://wiki.vnoi.info/translate/codeforces/Efficient-and-easy-segment-trees.md)
121 | - [Cây Đoạn (Segment Tree) là gì?](https://viblo.asia/p/cay-doan-segment-tree-la-gi-018J2KXeLYK)
122 | - [Cây phân đoạn (Segment tree)](https://vallicon.com/post/c%C3%A2y-ph%C3%A2n-%C4%91o%E1%BA%A1n-%28segment-tree%29-XavBpoRzr7A)
123 | - [Cây phân đoạn nâng cao (Segment trees advanced)](https://vallicon.com/post/c%C3%A2y-ph%C3%A2n-%C4%91o%E1%BA%A1n-n%C3%A2ng-cao-%28segment-trees-advanced%29-layJpdDpG6v)
124 | - [Segment Tree](https://howkteam.vn/course/cau-truc-du-lieu-va-giai-thuat/segment-tree-4321)
125 | - Video tiếng Việt:
126 | - [Segment Tree (Cây phân đoạn) [C++] [2021] - YugiHacker](https://www.youtube.com/watch?v=9U1pChOERjg)
127 | - [Segment Tree - Cây phân đoạn [C++] [2023], Đoạn con có tổng lớn nhất, Tìm nhị phân trên segment tree](https://www.youtube.com/watch?v=dRc5ySKB67U)
128 | - [Segment Tree - Lazy propagation [C++] [2023], Cây phân đoạn, cập nhật lười, cập nhật bậc thang](https://www.youtube.com/watch?v=ft6BOlOtsrI)
129 | - [Cài Đặt Segment Tree (Cây phân đoạn) trên C++](https://www.youtube.com/watch?v=y60m6KUgnmM)
130 | - Bài viết tiếng Anh:
131 | - Mục ***9.2.2 Segment Trees*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
132 | - [Segment Tree - cp-algorithms](https://cp-algorithms.com/data_structures/segment_tree.html)
133 | - [Segment tree](https://wcipeg.com/wiki/Segment_tree)
134 | - [Efficient and easy segment trees - Codeforces Blog](https://codeforces.com/blog/entry/18051)
135 | - [Segment tree - Wikipedia](https://en.wikipedia.org/wiki/Segment_tree)
136 | - [Segment Tree - GeeksforGeeks](https://www.geeksforgeeks.org/segment-tree-data-structure/)
137 | - [Segment Trees - HackerEarth](https://www.hackerearth.com/practice/data-structures/advanced-data-structures/segment-trees/tutorial/)
138 | - [VisuAlgo](https://visualgo.net/en/segmenttree?slide=1)
139 | - Video tiếng Anh:
140 | - [Segment Tree Range Minimum Query](https://www.youtube.com/watch?v=ZBHKZF5w4YU)
141 | - [Lazy Propagation Segment Tree](https://www.youtube.com/watch?v=xuoQdt5pHj0)
142 | - [Segment tree](https://www.youtube.com/playlist?list=PLTenPTx8NQDJniUgCDAydREd8h2Bbi_NX)
143 | - [Segment Tree: CodeNCode](https://www.youtube.com/playlist?list=PL5DyztRVgtRWt0Kgy7fCN9OSPgr6AI3DO)
144 | - [Segment Tree Concepts and Questions](https://www.youtube.com/playlist?list=PLpIkg8OmuX-K1qUIQToCllUO0UIKXt8dB)
145 | - [Segment Tree - Level 3](https://www.youtube.com/playlist?list=PL-Jc9J83PIiFY1445K_x1M_O3j9kr3FII)
146 | - [Segment Trees - The Best Introduction in 10 mins](https://www.youtube.com/watch?v=Ic7OO3Uw6J0)
147 | - [Segment Tree: Build and Query | Live Coding](https://www.youtube.com/watch?v=-dUiRtJ8ot0)
148 | - [Lazy Propagation in Segment Tree | Point and Range Updates | Live Coding](https://www.youtube.com/watch?v=rwXVCELcrqU)
149 |
150 | ### Additional Techniques
151 |
152 | - Bài viết tiếng Anh:
153 | - Mục ***9.2.3 Additional Techniques*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
154 |
155 |
--------------------------------------------------------------------------------
/Tham lam/README.md:
--------------------------------------------------------------------------------
1 | # [Tờ Mờ Sáng học Thuật toán và Lập trình thi đấu](/README.md)
2 |
3 | # Nhập môn
4 |
5 | > Tổng hợp danh sách những tài liệu hay và bổ ích về **Thuật toán và Lập trình thi đấu**
6 | >
7 | > Người tổng hợp: **[Trần Minh Sáng](https://www.facebook.com/sangtran.04/)**
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | ### Series video "Lên trình Thuật toán - Lập trình thi đấu":
25 |
26 | [](https://www.youtube.com/watch?v=AgwnOQbJVvU&list=PLqfkD788zZGCjhbJsmyhInVAhHBSV8Gqg&index=1)
27 |
28 | ## Cài đặt extension [Random Algorithm Topics](https://chromewebstore.google.com/detail/random-algorithm-topics/cfbnefdpfhohjhehglbjkchobnaknbkm) trên Google Chrome để học ngẫu nhiên một chủ đề trong danh sách mỗi khi mở 1 tab mới trên trình duyệt
29 |
30 |
[Install on Google Chrome](https://chromewebstore.google.com/detail/random-algorithm-topics/cfbnefdpfhohjhehglbjkchobnaknbkm)
31 |
32 |
33 |
34 | ## Tham lam
35 |
36 | - Bài viết tiếng Việt:
37 | - [Thuật toán Tham lam - VNOI Wiki](https://wiki.vnoi.info/translate/topcoder/Greedy-is-Good)
38 | - [Sum-constrained convex optimization - VNOI Wiki](https://wiki.vnoi.info/algo/trick/convex_greedy)
39 | - [Tổng Minkowski của các bao lồi - VNOI Wiki](https://wiki.vnoi.info/algo/trick/minkowski-sum)
40 | - [Giải thuật tham lam - Wikipedia](https://vi.wikipedia.org/wiki/Gi%E1%BA%A3i_thu%E1%BA%ADt_tham_lam)
41 | - [Tham lam (Greedy Method)](https://viblo.asia/p/tham-lam-greedy-method-6J3ZgaeP5mB)
42 | - [Thuật toán tham lam (Greedy Algorithms)](https://vallicon.com/post/thu%E1%BA%ADt-to%C3%A1n-tham-lam-%28greedy-algorithms%29-OWK1Yj7E7or)
43 | - Video tiếng Việt:
44 | - [Thuật toán tham lam | Greedy algorithm](https://www.youtube.com/watch?v=4kxY2hGDQ5s)
45 | - [Giải thuật tham lam](https://www.youtube.com/playlist?list=PL8JRkLx_73-IazK0iOn2iSILrpSEUzNbt)
46 | - [Giải Thuật Tham Lam | Mèo Lập Trình](https://www.youtube.com/watch?v=tx5saBiltJU)
47 | - [Chiến lược thiết kế thuật toán - Tham lam](https://www.youtube.com/watch?v=iAM74hlsi98)
48 | - [[Ứng dụng thuật toán] Bài 3 - Giải thuật tham lam](https://www.youtube.com/watch?v=bR5l8gQSoeI)
49 | - Bài viết tiếng Anh:
50 | - [Greedy is Good - TopCoder](https://www.topcoder.com/thrive/articles/Greedy%20is%20Good)
51 | - [Introduction to Greedy Algorithms - USACO Guide](https://usaco.guide/bronze/intro-greedy?lang=cpp)
52 | - [Greedy Algorithms with Sorting - USACO Guide](https://usaco.guide/silver/greedy-sorting?lang=cpp)
53 | - [Basics of Greedy Algorithms - HackerEarth](https://www.hackerearth.com/practice/algorithms/greedy/basics-of-greedy-algorithms/tutorial/)
54 | - [DSA Greedy Algorithms - W3Schools](https://www.w3schools.com/dsa/dsa_ref_greedy.php)
55 | - [Greedy Algorithms - GeeksforGeeks](https://www.geeksforgeeks.org/greedy-algorithms/)
56 | - [Greedy Algorithm Tutorial – Examples, Application and Practice Problem - GeeksforGeeks](https://www.geeksforgeeks.org/introduction-to-greedy-algorithm-data-structures-and-algorithm-tutorials/)
57 | - Video tiếng Anh:
58 | - [Greedy method - Abdul Bari](https://www.youtube.com/playlist?list=PLfFeAJ-vQopt_S5XlayyvDFL_mi2pGJE3)
59 | - [Greedy Algorithms Explained - Tech With Tim](https://www.youtube.com/watch?v=lfQvPHGtu6Q)
60 | - [Greedy Algorithms Tutorial – Solve Coding Challenges - freeCodeCamp](https://www.youtube.com/watch?v=bC7o8P_Ste4)
61 | - [Greedy Algorithms Tutorials | GeeksforGeeks](https://www.youtube.com/playlist?list=PLqM7alHXFySESatj68JKWHRVhoJ1BxtLW)
62 | - [Greedy Algorithms - MIT OpenCourseWare](https://www.youtube.com/watch?v=-QcPo_DWJk4)
63 | - [Greedy Algorithms: Minimum Spanning Tree - MIT OpenCourseWare](https://www.youtube.com/watch?v=tKwnms5iRBU)
64 | - [Introduction to Greedy Algorithms](https://www.youtube.com/watch?v=3XaqEng_K5s)
65 |
--------------------------------------------------------------------------------
/Thiết kế giải thuật/README.md:
--------------------------------------------------------------------------------
1 | # [Tờ Mờ Sáng học Thuật toán và Lập trình thi đấu](/README.md)
2 |
3 | # Thiết kế giải thuật
4 |
5 | > Tổng hợp danh sách những tài liệu hay và bổ ích về **Thuật toán và Lập trình thi đấu**
6 | >
7 | > Người tổng hợp: **[Trần Minh Sáng](https://www.facebook.com/sangtran.04/)**
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | ### Series video "Lên trình Thuật toán - Lập trình thi đấu":
25 |
26 | [](https://www.youtube.com/watch?v=AgwnOQbJVvU&list=PLqfkD788zZGCjhbJsmyhInVAhHBSV8Gqg&index=1)
27 |
28 | ## Cài đặt extension [Random Algorithm Topics](https://chromewebstore.google.com/detail/random-algorithm-topics/cfbnefdpfhohjhehglbjkchobnaknbkm) trên Google Chrome để học ngẫu nhiên một chủ đề trong danh sách mỗi khi mở 1 tab mới trên trình duyệt
29 |
30 |
[Install on Google Chrome](https://chromewebstore.google.com/detail/random-algorithm-topics/cfbnefdpfhohjhehglbjkchobnaknbkm)
31 |
32 |
33 |
34 | ## Nội dung chính của phần "Thiết kế giải thuật"
35 |
36 | - [Bit-Parallel Algorithms](#bit-parallel-algorithms)
37 | - [Hamming Distances](#hamming-distances)
38 | - [Counting Subgrids](#counting-subgrids)
39 | - [Reachability in Graphs](#reachability-in-graphs)
40 | - [Amortized Analysis](#amortized-analysis)
41 | - [Two Pointers Method](#two-pointers-method)
42 | - [Nearest Smaller Elements](#nearest-smaller-elements)
43 | - [Sliding Window Minimum](#sliding-window-minimum)
44 | - [Finding Minimum Values](#finding-minimum-values)
45 | - [Ternary Search](#ternary-search)
46 | - [Convex Functions](#convex-functions)
47 | - [Minimizing Sums](#minimizing-sums)
48 |
49 | ## Bit-Parallel Algorithms
50 |
51 | ### Hamming Distances
52 |
53 | - Bài viết tiếng Việt:
54 | - [Khoảng cách Hamming](https://vi.wikipedia.org/wiki/Kho%E1%BA%A3ng_c%C3%A1ch_Hamming)
55 | - Video tiếng Việt:
56 | - [VOI 12: Khoảng cách Hamming - VNOJ](https://www.youtube.com/watch?v=epbCzPsNNzY)
57 | - Bài viết tiếng Anh:
58 | - Mục ***8.1.1 Hamming Distances*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
59 | - [Hamming distance - Wikipedia](https://en.wikipedia.org/wiki/Hamming_distance)
60 | - [What is Hamming Distance?](https://www.tutorialspoint.com/what-is-hamming-distance)
61 | - [Minimum Hamming Distance](https://www.geeksforgeeks.org/minimum-hamming-distance/)
62 | - [Hamming distance between two Integers](https://www.geeksforgeeks.org/hamming-distance-between-two-integers/)
63 | - Video tiếng Anh:
64 | - [Error Correcting Codes: What is Hamming Distance and Minimum Hamming Distance?](https://www.youtube.com/watch?v=7SVSXiWc0-o)
65 | - [How to compute the Hamming distance](https://www.youtube.com/watch?v=P02mJhS9qQ4)
66 | - [Checksums and Hamming distance](https://www.youtube.com/watch?v=ppU41c15Xho)
67 | - [Hamming Distance | LeetCode 461 | C++, Java, Python](https://www.youtube.com/watch?v=5UKMvO5bXPI)
68 |
69 | ### Counting Subgrids
70 |
71 | - Bài viết tiếng Anh:
72 | - Mục ***8.1.2 Counting Subgrids*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
73 |
74 | ### Reachability in Graphs
75 |
76 | - Bài viết tiếng Anh:
77 | - Mục ***8.1.3 Reachability in Graphs*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
78 |
79 | ## Amortized Analysis
80 |
81 | ### Two Pointers Method
82 |
83 | - Bài viết tiếng Việt:
84 | - [Kĩ thuật hai con trỏ - VNOI Wiki](https://wiki.vnoi.info/algo/basic/two-pointers)
85 | - [Kỹ thuật 2 con trỏ (Two-pointer)](https://codedream.edu.vn/ky-thuat-2-con-tro-two-pointer/)
86 | - [Tổng quan về kĩ thuật Two Pointers](https://hackmd.io/@vuquelam28/HJrCyQE2_)
87 | - [Hai con trỏ](https://howkteam.vn/course/cau-truc-du-lieu-va-giai-thuat/hai-con-tro-4294)
88 | - [Kỹ thuật 2 con trỏ & Bài tập vận dụng](https://hackmd.io/@hda/SkejOs2gn)
89 | - Video tiếng Việt:
90 | - [Kỹ thuật Hai Con Trỏ | Two Pointers Trong C++](https://www.youtube.com/watch?v=PPyw2vp6SIU)
91 | - [Hai con trỏ (Two pointers) - 1](https://www.youtube.com/watch?v=nk317NPlBJ4)
92 | - [Hai con trỏ (Two pointers) - 2](https://www.youtube.com/watch?v=s-ULxuOkllw)
93 | - [Giải các bài toán về mảng với kỹ thuật 2 con trỏ](https://www.youtube.com/watch?v=WsKoCy83wvc)
94 | - [Khái niệm thuật toán và kỹ thuật | Kỹ thuật hai con trỏ ( two pointers)](https://www.youtube.com/watch?v=VVaLBG1-z2Q)
95 | - [Kỹ thuật two pointers](https://www.youtube.com/watch?v=ussLEUIBpv8)
96 | - Bài viết tiếng Anh:
97 | - Mục ***8.2.1 Two Pointers Method*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
98 | - [Two Pointers Technique - GeeksforGeeks](https://www.geeksforgeeks.org/two-pointers-technique/)
99 | - [When should I use two pointer approach? - GeeksforGeeks](https://www.geeksforgeeks.org/when-should-i-use-two-pointer-approach/)
100 | - [Two Pointers - USACO Guide](https://usaco.guide/silver/two-pointers?lang=cpp)
101 | - [The Two Pointer Technique](https://algodaily.com/lessons/using-the-two-pointer-technique)
102 | - [What is Two Pointer Approach?](https://takeuforward.org/data-structure/what-is-two-pointer-approach/)
103 | - Video tiếng Anh:
104 | - [How to Use the Two Pointer Technique](https://www.youtube.com/watch?v=-gjxg6Pln50)
105 | - [Visual introduction Two Pointer Algorithm](https://www.youtube.com/watch?v=On03HWe2tZM)
106 | - [What is the Two-Pointers Technique & How to use it?](https://www.youtube.com/watch?v=VEPCm3BCtik)
107 | - [Two Pointer Algorithm | Two Sum Problem | Solve DS Problems in O(N) Time](https://www.youtube.com/watch?v=2wVjt3yhGwg)
108 | - [Two Pointers : Popular Interview Problems](https://www.youtube.com/playlist?list=PLpIkg8OmuX-LtRw7om1-EV6aJMRKjbSSR)
109 | - [Two Pointers in Coding Interviews](https://www.youtube.com/watch?v=QwN-weNSrAg)
110 | - [Two Pointers Technique](https://www.youtube.com/watch?v=xZ4AfXHQ1VQ)
111 | - [Two Pointer Approach - CP TacTics](https://www.youtube.com/watch?v=ymKrGndnTis)
112 |
113 | ### Nearest Smaller Elements
114 |
115 | - Bài viết tiếng Anh:
116 | - Mục ***8.2.2 Nearest Smaller Elements*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
117 | - [Stacks - USACO Guide](https://usaco.guide/gold/stacks?lang=cpp)
118 | - [Find the nearest smaller numbers on left side in an array - GeeksforGeeks](https://www.geeksforgeeks.org/find-the-nearest-smaller-numbers-on-left-side-in-an-array/)
119 | - Video tiếng Anh:
120 | - [Nearest Smaller Element on Left & Right side of an Array | Stack](https://www.youtube.com/watch?v=_RtghJnM1Qo)
121 | - [Nearest Smaller Elements | Monotonic Stack Part 1 | Stack](https://www.youtube.com/watch?v=Z3FtVBHQIj4)
122 | - [Left Nearest Smaller Element Without Stack in O(N)](https://www.youtube.com/watch?v=NIiK0ycMkmE)
123 | - [[CSES][Sorting and Searching] Nearest Smaller Values](https://www.youtube.com/watch?v=fM_vHHzHR1o)
124 |
125 | ### Sliding Window Minimum
126 | - Bài viết tiếng Anh:
127 | - Mục ***8.2.3 Sliding Window Minimum*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
128 | - [Minimum in sliding window: two different but similar solutions - Codeforces Blog](https://codeforces.com/blog/entry/71687)
129 | - [Sliding window minimum/maximum algorithm](https://www.nayuki.io/page/sliding-window-minimum-maximum-algorithm)
130 | - Video tiếng Anh:
131 | - [Sliding Window](https://www.youtube.com/playlist?list=PLot-Xpze53leOBgcVsJBEGrHPd_7x_koV)
132 | - [Minimum Window Substring | 2 Pointers and Sliding Window Playlist](https://www.youtube.com/watch?v=WJaij9ffOIY)
133 |
134 | ## Finding Minimum Values
135 |
136 | ### Ternary Search
137 |
138 | - Bài viết tiếng Việt:
139 | - [Tìm kiếm tam phân - Ternary Search - VNOI Wiki](https://wiki.vnoi.info/translate/emaxx/Tim-kiem-tam-phan-Ternary-Search)
140 | - [C++: Tìm kiếm tam phân (Ternary Search)](https://v1study.com/c-plus-plus-tham-khao-tim-kiem-tam-phan-ternary-search.html)
141 | - [Thuật toán tìm kiếm tam phân](https://lmsang1986.violet.vn/entry/show/entry_id/7018542)
142 | - Video tiếng Việt:
143 | - [Tìm kiếm tam phân (Ternary search)](https://www.youtube.com/watch?v=3US8YDfKXHk)
144 | - Bài viết tiếng Anh:
145 | - Mục ***8.3.1 Ternary Search*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
146 | - [Ternary search - Wikipedia](https://en.wikipedia.org/wiki/Ternary_search)
147 | - [Ternary Search - cp-algorithms](https://cp-algorithms.com/num_methods/ternary_search.html)
148 | - [Ternary Search - HackerEarth](https://www.hackerearth.com/practice/algorithms/searching/ternary-search/tutorial/)
149 | - [Ternary Search - GeeksforGeeks](https://www.geeksforgeeks.org/ternary-search/)
150 | - Video tiếng Anh:
151 | - [Ternary Search | Code Tutorial](https://www.youtube.com/watch?v=JaO8cU9WlWg)
152 | - [Ternary Search in 4 min (Python)](https://www.youtube.com/watch?v=o3HPRpbGlbI)
153 | - [Ternary Search](https://www.youtube.com/playlist?list=PL-Jc9J83PIiGiFr2WFAiS9nEssqEoCKC4)
154 | - [Ternary Search | Ternary Search with example](https://www.youtube.com/watch?v=WyWL1PBNvb8)
155 |
156 | ### Convex Functions
157 |
158 | - Bài viết tiếng Việt:
159 | - [Convex sets và convex functions](https://machinelearningcoban.com/2017/03/12/convexity/)
160 | - Video tiếng Việt:
161 | - [Convex Sets và Convex Functions](https://www.youtube.com/watch?v=2QF6aTGDyms)
162 | - Bài viết tiếng Anh:
163 | - Mục ***8.3.2 Convex Functions*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
164 | - [Convex function - Wikipedia](https://en.wikipedia.org/wiki/Convex_function)
165 | - [Convex functions - Đại học Princeton](https://www.princeton.edu/~aaa/Public/Teaching/ORF523/S16/ORF523_S16_Lec7_gh.pdf)
166 | - [Convex Function - Wolfram MathWorld](https://mathworld.wolfram.com/ConvexFunction.html)
167 | - [Convex Function](https://www.sciencedirect.com/topics/computer-science/convex-function)
168 | - [Convex functions - Đại học Stanford](https://see.stanford.edu/materials/lsocoee364a/03ConvexFunctions.pdf)
169 | - Video tiếng Anh:
170 | - [Understanding Concave and Convex Functions](https://www.youtube.com/watch?v=nOFXLCCvtm0)
171 | - [Convex functions - AUT literacy for assessments](https://www.youtube.com/watch?v=u8JrE9JlZPM)
172 | - [Convex Functions - Constantine Caramanis](https://www.youtube.com/watch?v=FNiJJL-1xVw)
173 | - [Convex Sets and Functions](https://www.youtube.com/playlist?list=PL29P6yGVxOlMukN14mxOMOGiqE2s7DOop)
174 | - [Convex functions and Jensen's inequality](https://www.youtube.com/watch?v=4s0aNldT02Y)
175 | - [Concave and Convex Functions](https://www.youtube.com/watch?v=s0dZVmPN3Ww)
176 |
177 | ### Minimizing Sums
178 |
179 | - Bài viết tiếng Anh:
180 | - Mục ***8.3.3 Minimizing Sums*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
181 |
--------------------------------------------------------------------------------
/Toán học trong lập trình thi đấu/README.md:
--------------------------------------------------------------------------------
1 | # [Tờ Mờ Sáng học Thuật toán và Lập trình thi đấu](/README.md)
2 |
3 | # Toán học trong lập trình thi đấu
4 |
5 | > Tổng hợp danh sách những tài liệu hay và bổ ích về **Thuật toán và Lập trình thi đấu**
6 | >
7 | > Người tổng hợp: **[Trần Minh Sáng](https://www.facebook.com/sangtran.04/)**
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | ### Series video "Lên trình Thuật toán - Lập trình thi đấu":
25 |
26 | [](https://www.youtube.com/watch?v=AgwnOQbJVvU&list=PLqfkD788zZGCjhbJsmyhInVAhHBSV8Gqg&index=1)
27 |
28 | ## Nội dung chính của phần "Toán học trong lập trình thi đấu"
29 |
30 | - [Kiến thức nền tảng](#kiến-thức-nền-tảng)
31 | - [Hệ cơ số](#hệ-cơ-số)
32 | - [Cấp số cộng](#cấp-số-cộng)
33 | - [Cấp số nhân](#cấp-số-nhân)
34 | - [Lý thuyết tập hợp](#lý-thuyết-tập-hợp)
35 | - [Đại số logic](#đại-số-logic)
36 | - [Logarithm](#logarithm)
37 | - [Số học](#số-học)
38 | - [Modulo](#modulo)
39 | - [Nghịch đảo modulo](#nghịch-đảo-modulo)
40 | - [Số nguyên tố](#số-nguyên-tố)
41 | - [Sàng nguyên tố](#sàng-nguyên-tố)
42 | - [Giải thuật Euclid](#giải-thuật-euclid)
43 | - [Lũy thừa modulo](#lũy-thừa-modulo)
44 | - [Lũy thừa nhị phân](#lũy-thừa-nhị-phân)
45 | - [Phi hàm Euler](#phi-hàm-euler)
46 | - [Giải phương trình](#giải-phương-trình)
47 | - [Định lý Wilson](#định-lý-wilson)
48 | - [Hàm Mobius](#hàm-mobius)
49 | - [Hàm nhân tính](#hàm-nhân-tính)
50 | - [Tổ hợp](#tổ-hợp)
51 | - [Hệ số nhị thức](#hệ-số-nhị-thức)
52 | - [Dãy số Catalan](#dãy-số-catalan)
53 | - [Bao hàm - Loại trừ](#bao-hàm---loại-trừ)
54 | - [Bổ đề Burnside](#bổ-đề-burnside)
55 | - [Công thức Cayley](#công-thức-cayley)
56 | - [Biến đổi Fourier nhanh - FFT](#biến-đổi-fourier-nhanh---fft)
57 | - [Ma trận](#ma-trận)
58 | - [Nhân ma trận](#nhân-ma-trận)
59 | - [Khử nhân ma trận](#khử-nhân-ma-trận)
60 | - [Truy hồi tuyến tính](#truy-hồi-tuyến-tính)
61 | - [Ma trận kề](#ma-trận-kề)
62 | - [Phép khử Gauss](#phép-khử-gauss)
63 | - [Xác suất](#xác-suất)
64 | - [Biến cố](#biến-cố)
65 | - [Biến ngẫu nhiên](#biến-ngẫu-nhiên)
66 | - [Chuỗi Markov](#chuỗi-markov)
67 | - [Thuật toán ngẫu nhiên](#thuật-toán-ngẫu-nhiên)
68 | - [Lý thuyết trò chơi](#lý-thuyết-trò-chơi)
69 | - [Game State](#game-state)
70 | - [Trò chơi Nim](#trò-chơi-nim)
71 | - [Định lý Sprague–Grundy](#định-lý-spraguegrundy)
72 |
73 | ## Kiến thức nền tảng
74 |
75 | ### Hệ cơ số
76 | - Bài viết tiếng Việt:
77 | - [Danh sách hệ đếm - Wikipedia](https://vi.wikipedia.org/wiki/Danh_s%C3%A1ch_h%E1%BB%87_%C4%91%E1%BA%BFm)
78 | - [Hệ cơ số (Hệ đếm)](https://viblo.asia/p/he-co-so-he-dem-m68Z0e72lkG)
79 | - Video tiếng Việt:
80 | - [Biểu diễn số & chữ cái bằng nhị phân](https://www.youtube.com/watch?v=0OThQYFnilU)
81 | - [Cách chuyển đổi từ cơ số 2 sang 16 và ngược lại (dễ hiểu)](https://www.youtube.com/watch?v=lklO9DJG7no)
82 | - Bài viết tiếng Anh:
83 | - [Numeral system](https://en.wikipedia.org/wiki/Numeral_system)
84 | - [Number System in Maths](https://www.geeksforgeeks.org/number-system-in-maths/)
85 | - Video tiếng Anh:
86 | - [Number Systems](https://www.youtube.com/playlist?list=PL0o_zxa4K1BXCpQbUdf0htZE8SS0PYjy-)
87 |
88 | ### Cấp số cộng
89 | - Bài viết tiếng Việt:
90 | - [Cấp số cộng](https://vi.wikipedia.org/wiki/C%E1%BA%A5p_s%E1%BB%91_c%E1%BB%99ng)
91 | - [Suy luận logic về công thức tính tổng Cấp số cộng](https://viblo.asia/p/suy-luan-logic-ve-cong-thuc-tinh-tong-cap-so-cong-5OXLAv7xVGr)
92 | - Video tiếng Việt:
93 | - [Cấp số cộng](https://www.youtube.com/watch?v=tKNNGgdjpOU)
94 | - [Algorithm - Bài 5 - Cấp số cộng trực quan với animation](https://www.youtube.com/watch?v=dggeHK3mWPQ&list=PLqfkD788zZGCjhbJsmyhInVAhHBSV8Gqg&index=5)
95 | - Bài viết tiếng Anh:
96 | - [Arithmetic progression](https://en.wikipedia.org/wiki/Arithmetic_progression)
97 | - [Arithmetic Progression - GeeksforGeeks](https://www.geeksforgeeks.org/what-is-arithmetic-progression/)
98 | - Video tiếng Anh:
99 | - [Arithmetic Sequences and Arithmetic Series - Basic Introduction](https://www.youtube.com/watch?v=XZJdyPkCxuE)
100 | - [Intro to arithmetic progressions](https://www.khanacademy.org/math/in-in-grade-10-ncert/x573d8ce20721c073:arithmetic-progressions/x573d8ce20721c073:intro-to-arithmetic-progressions/v/intro-to-arithmetic-progressions-arithmetic-progressions)
101 |
102 | ### Cấp số nhân
103 | - Bài viết tiếng Việt:
104 | - [Cấp số nhân](https://vi.wikipedia.org/wiki/C%E1%BA%A5p_s%E1%BB%91_nh%C3%A2n)
105 | - [Cấp số nhân hiểu ngay không cần nhớ công thức](https://viblo.asia/p/cap-so-nhan-hieu-ngay-khong-can-nho-cong-thuc-3RlL5glw4bB)
106 | - Video tiếng Việt:
107 | - [Algorithm - Bài 6 - Cấp số nhân hiểu ngay không cần nhớ công thức](https://www.youtube.com/watch?v=nVw9dYGlXbc&list=PLqfkD788zZGCjhbJsmyhInVAhHBSV8Gqg&index=6)
108 | - [Cấp Số Nhân (Toán 11)](https://www.youtube.com/watch?v=GV40xpC56Ts)
109 | - Bài viết tiếng Anh:
110 | - [Geometric progression](https://en.wikipedia.org/wiki/Geometric_progression)
111 | - [Geometric progression - GeeksforGeeks](https://www.geeksforgeeks.org/what-is-geometric-progression/)
112 | - Video tiếng Anh:
113 | - [Intro to Geometric Progressions - Eddie Woo](https://www.youtube.com/watch?v=yo2DtZDYzKY)
114 | - [Geometric Series and Geometric Sequences](https://www.youtube.com/watch?v=zRKZ0-kOUZM)
115 |
116 | ### Lý thuyết tập hợp
117 | - Bài viết tiếng Việt:
118 | - [Lý thuyết tập hợp](https://vi.wikipedia.org/wiki/L%C3%BD_thuy%E1%BA%BFt_t%E1%BA%ADp_h%E1%BB%A3p)
119 | - [Lý thuyết tập hợp (Set theory)](https://viblo.asia/p/ly-thuyet-tap-hop-set-theory-EbNVQwOWJvR)
120 | - Video tiếng Việt:
121 | - [Algorithm - Bài 7 - Lý thuyết tập hợp (Set theory)](https://www.youtube.com/watch?v=4Nfj_dwrTn0&list=PLqfkD788zZGCjhbJsmyhInVAhHBSV8Gqg&index=7)
122 | - [Georg Cantor - “Cha Đẻ” Của Lý Thuyết Tập Hợp Trầm Cảm Vì Công Trình Bị Phản Đối](https://www.youtube.com/watch?v=hAalyeV_ty4)
123 | - Bài viết tiếng Anh:
124 | - [Set theory](https://en.wikipedia.org/wiki/Set_theory)
125 | - [Set Theory - Đại học Stanford](https://plato.stanford.edu/entries/set-theory/)
126 | - Video tiếng Anh:
127 | - [Exploring Mathematics: Set Theory - Eddie Woo](https://www.youtube.com/playlist?list=PL5KkMZvBpo5AH_5GpxMiryJT6Dkj32H6N)
128 | - [Introduction to Set theory - Discrete mathematics](https://www.youtube.com/watch?v=tyDKR4FG3Yw)
129 |
130 | ### Đại số logic
131 | - Bài viết tiếng Việt:
132 | - [Đại số Boole](https://vi.wikipedia.org/wiki/%C4%90%E1%BA%A1i_s%E1%BB%91_Boole)
133 | - [Slide bài giảng Đại số logic và ứng dụng thiết kế máy tính điện tử - Đại học Công nghệ - Đại học Quốc gia](http://uet.vnu.edu.vn/~nguyenhathanh/lectures/thcs2/slides/Bai%205%20Dai%20so%20logic%20va%20ung%20dung.pdf)
134 | - Video tiếng Việt:
135 | - [Algorithm - Bài 8 - Đại số Logic / Logic Algebra / Boolean Algebra](https://www.youtube.com/watch?v=mo9H5JFfCYE&list=PLqfkD788zZGCjhbJsmyhInVAhHBSV8Gqg&index=8)
136 | - [Đại số Boolean & cổng logic](https://www.youtube.com/watch?v=feR-Ex5yZjU)
137 | - Bài viết tiếng Anh:
138 | - [Boolean algebra](https://en.wikipedia.org/wiki/Boolean_algebra)
139 | - [The Mathematics of Boolean Algebra - Đại học Stanford](https://plato.stanford.edu/entries/boolalg-math/)
140 | - Video tiếng Anh:
141 | - [Boolean Logic & Logic Gates](https://www.youtube.com/watch?v=gI-qXk7XojA)
142 | - [The Laws of Boolean Algebra Explained](https://www.youtube.com/watch?v=RMe69AdlFdI)
143 |
144 | ### Logarithm
145 | - Bài viết tiếng Việt:
146 | - [Logarit](https://vi.wikipedia.org/wiki/Logarit)
147 | - [Chương II. Hàm số lũy thừa hàm số mũ và hàm số lôgarit - Toán 12](https://loigiaihay.com/chuong-ii-ham-so-luy-thua-ham-so-mu-va-ham-so-logarit-e1775.html)
148 | - Video tiếng Việt:
149 | - [Logarit : Hành trình từ cực tiểu đến cực đại](https://www.youtube.com/watch?v=nTuBytg_5m8) - LƯU Ý: Tác giả của kênh Youtube Khoa Học và Chúng Ta này có nhiều video về khoa học ứng dụng hay. Tuy nhiên, ông này đã từng bị trục xuất khỏi nước vì phản động. Vì vậy, hãy thật tỉnh táo khi xem video trên kênh này. Nếu bạn phát hiện ra bất kỳ dấu hiệu nào về việc ông này truyền bá tư tưởng lệch lạc xen kẽ vào trong video, thì hãy thông báo với mình để mình loại bỏ video ra khỏi danh sách nhé.
150 | - [Ứng dụng Logarit trong thực tế - Thước đo động đất](https://www.youtube.com/watch?v=w4AP_kb2lmk)
151 | - Bài viết tiếng Anh:
152 | - [Logarithm](https://en.wikipedia.org/wiki/Logarithm)
153 | - [Intro to Logarithms - Khan Academy](https://www.khanacademy.org/math/algebra2/x2ec2f6f830c9fb89:logs/x2ec2f6f830c9fb89:log-intro/a/intro-to-logarithms)
154 | - Video tiếng Anh:
155 | - [Logarithms, explained - Steve Kelly](https://www.youtube.com/watch?v=zzu2POfYv0Y)
156 | - [Logarithms explained Bob Ross style](https://www.youtube.com/watch?v=up21mvokyQ4)
157 |
158 | ## Số học
159 |
160 | ### Modulo
161 | - Bài viết tiếng Việt:
162 | - [Modulo & GCD - VNOI Wiki](https://wiki.vnoi.info/translate/he/So-hoc-Phan-1-Modulo-gcd)
163 | - [Số học đồng dư (Phần 1): Đồng dư thức và Nghịch đảo modulo](https://viblo.asia/p/so-hoc-dong-du-phan-1-dong-du-thuc-va-nghich-dao-modulo-Az45b0aqZxY)
164 | - [Số học đồng dư (Phần 2): Phương trình đồng dư tuyến tính](https://viblo.asia/p/so-hoc-dong-du-phan-2-phuong-trinh-dong-du-tuyen-tinh-3RlL5Y6gLbB)
165 | - Video tiếng Việt:
166 | - [Số học : Extended euclid (Euclid mở rộng), nghịch đảo modulo, phi hàm Euler [C++]](https://www.youtube.com/watch?v=7s-zFNzzmt8)
167 | - [[Toán Đại học] Định nghĩa và tính chất đồng dư thức - lý thuyết số](https://www.youtube.com/watch?v=zODG4gxh9Po)
168 | - Bài viết tiếng Anh:
169 | - [Modular Arithmetic - USACO Guide](https://usaco.guide/gold/modular?lang=cpp)
170 | - [Number Theory - 1](https://www.hackerearth.com/practice/notes/number-theory-1/)
171 | - [Modular arithmetic](https://en.wikipedia.org/wiki/Modular_arithmetic)
172 | - [Modular Arithmetic - GeeksforGeeks](https://www.geeksforgeeks.org/modular-arithmetic/)
173 | - Video tiếng Anh:
174 | - [This completely changed the way I see numbers | Modular Arithmetic Visually Explained](https://www.youtube.com/watch?v=lJ3CD9M3nEQ)
175 | - [What does a ≡ b (mod n) mean? Basic Modular Arithmetic, Congruence](https://www.youtube.com/watch?v=6dZLq77gSGU)
176 | - [What is Modular Arithmetic - Introduction to Modular Arithmetic - Cryptography](https://www.youtube.com/watch?v=Eg6CTCu8iio)
177 |
178 | ### Nghịch đảo modulo
179 | - Bài viết tiếng Việt:
180 | - [Nghịch đảo modulo - VNOI Wiki](https://wiki.vnoi.info/algo/math/modular-inverse)
181 | - [Modular Inverse | Nghịch đảo module](https://vnspoj.github.io/wikivn/algebra/module-inverse)
182 | - [Số học đồng dư (Phần 1): Đồng dư thức và Nghịch đảo modulo](https://viblo.asia/p/so-hoc-dong-du-phan-1-dong-du-thuc-va-nghich-dao-modulo-Az45b0aqZxY)
183 | - Video tiếng Việt:
184 | - [Số học: Extended euclid (Euclid mở rộng), nghịch đảo modulo, phi hàm Euler [C++]](https://www.youtube.com/watch?v=7s-zFNzzmt8)
185 | - Bài viết tiếng Anh:
186 | - [Modular Inverse - USACO Guide](https://usaco.guide/gold/modular?lang=cpp#modular-inverse)
187 | - [Modular Multiplicative Inverse - cp-algorithms](https://cp-algorithms.com/algebra/module-inverse.html)
188 | - [Modular multiplicative inverse](https://en.wikipedia.org/wiki/Modular_multiplicative_inverse)
189 | - Video tiếng Anh:
190 | - [How To Find The Inverse of a Number ( mod n ) - Inverses of Modular Arithmetic - Example](https://www.youtube.com/watch?v=shaQZg8bqUM)
191 | - [Multiplicative Inverse Mod n](https://www.youtube.com/watch?v=lh51Ww46Rng)
192 |
193 | ### Số nguyên tố
194 | - Bài viết tiếng Việt:
195 | - [Kiểm tra số nguyên tố - VNOI Wiki](https://wiki.vnoi.info/algo/algebra/primality_check.md)
196 | - [Số học 2 - Số nguyên tố, Sàng Eratosthenes - VNOI Wiki](https://wiki.vnoi.info/translate/he/Number-Theory-2)
197 | - Video tiếng Việt:
198 | - [Số nguyên tố : Con số kỳ bí và huyền diệu](https://www.youtube.com/watch?v=KMPAxJtmpl8) - LƯU Ý: Tác giả của kênh Youtube Khoa Học và Chúng Ta này có nhiều video về khoa học ứng dụng hay. Tuy nhiên, ông này đã từng bị trục xuất khỏi nước vì phản động. Vì vậy, hãy thật tỉnh táo khi xem video trên kênh này. Nếu bạn phát hiện ra bất kỳ dấu hiệu nào về việc ông này truyền bá tư tưởng lệch lạc xen kẽ vào trong video, thì hãy thông báo với mình để mình loại bỏ video ra khỏi danh sách nhé.
199 | - [Thuật Toán Kiểm Tra Số Nguyên Tố](https://www.youtube.com/watch?v=oIUueKdmRo8)
200 | - [[C++] Cách kiểm tra số nguyên tố nhanh nhất](https://www.youtube.com/watch?v=1mZ7rgqH9RU)
201 | - Bài viết tiếng Anh:
202 | - Mục ***11.1.1. Primes and Factors*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
203 | - [Primality tests - cp-algorithms](https://cp-algorithms.com/algebra/primality_tests.html#fermat-primality-test)
204 | - [Primality test](https://en.wikipedia.org/wiki/Primality_test)
205 | - [Miller–Rabin primality test](https://en.wikipedia.org/wiki/Miller%E2%80%93Rabin_primality_test)
206 | - [Carmichael number](https://en.wikipedia.org/wiki/Carmichael_number)
207 | - Video tiếng Anh:
208 | - [Primality (1 of 2: Fermat's Test) - Eddie Woo](https://www.youtube.com/watch?v=RcjxwCHRYfE)
209 | - [Fermat primality test - Khan Academy Labs](https://www.youtube.com/watch?v=oUMotDWVLpw)
210 | - [Fool-Proof Test for Primes - Numberphile](https://www.youtube.com/watch?v=HvMSRWTE2mI)
211 | - [Testing for Primality (Miller-Rabin Test)](https://www.youtube.com/watch?v=8i0UnX7Snkc)
212 | - [Miller-Rabin Primality Test)](https://www.youtube.com/watch?v=qdylJqXCDGs)
213 | - [Carmichael Numbers](https://www.youtube.com/watch?v=ddvkJF1-pL0)
214 | - [Liar Numbers - Numberphile](https://www.youtube.com/watch?v=jbiaz_aHHUQ)
215 |
216 | ### Sàng nguyên tố
217 | - Bài viết tiếng Việt:
218 | - [Sàng nguyên tố - VNOI Wiki](https://wiki.vnoi.info/algo/algebra/prime_sieve.md)
219 | - [Số học 2 - Số nguyên tố, Sàng Eratosthenes - VNOI Wiki](https://wiki.vnoi.info/translate/he/Number-Theory-2)
220 | - [Sàng Eratosthenes - Wikipedia](https://vi.wikipedia.org/wiki/S%C3%A0ng_Eratosthenes)
221 | - Video tiếng Việt:
222 | - [Thuật Toán Sàng Số Nguyên Tố Eratosthenes](https://www.youtube.com/watch?v=YqT9grg_M60)
223 | - Bài viết tiếng Anh:
224 | - Mục ***11.1.2. Sieve of Eratosthenes*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
225 | - [Sieve of Eratosthenes - cp-algorithms](https://cp-algorithms.com/algebra/sieve-of-eratosthenes.html)
226 | - [Sieve of Eratosthenes - Wikipedia](https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes)
227 | - Ngoài Sàng Eratosthenes, còn có một số sàng nguyên tố khác như:
228 | - [Sàng nguyên tố Atkin](https://en.wikipedia.org/wiki/Sieve_of_Atkin) với ĐPT $O(n)$
229 | - [Sàng nguyên tố Sundaram](https://en.wikipedia.org/wiki/Sieve_of_Sundaram) với ĐPT $O(n\log n)$
230 | - [Sàng Pritchard](https://en.wikipedia.org/wiki/Sieve_of_Pritchard) với ĐPT $O\left( \dfrac{n}{\log \log n} \right)$
231 | - ...
232 | - Tuy nhiên, khi gặp các bộ dữ liệu $n$ vào khoảng $10^6$ thì các sàng này hầu như chạy chậm hơn so với Sàng Eratosthenes thông thường.
233 | - Video tiếng Anh:
234 | - [The Sieve of Eratosthenes - Eddie Woo](https://www.youtube.com/watch?v=Lj_SzTGr-G4)
235 | - [Sieve of Eratosthenes - Khan Academy](https://www.youtube.com/watch?v=klcIklsWzrY)
236 | - [Sieve Of Eratosthenes (visualized)](https://www.youtube.com/watch?v=dhfhu9Q5g8U)
237 |
238 | ### Giải thuật Euclid
239 | - Bài viết tiếng Việt:
240 | - [Thuật toán Euclid - VNOI Wiki](https://wiki.vnoi.info/vi/algo/algebra/euclid)
241 | - [Giải thuật Euclid - Wikipedia](https://vi.wikipedia.org/wiki/Gi%E1%BA%A3i_thu%E1%BA%ADt_Euclid)
242 | - Video tiếng Việt:
243 | - [Số học: Extended euclid (Euclid mở rộng), nghịch đảo modulo, phi hàm Euler [C++]](https://youtu.be/7s-zFNzzmt8?si=U8kMD2yVuxpLE5HO&t=1624)
244 | - [Giải thuật Euclid - Tìm ƯCLN - Giải thích thuật toán](https://www.youtube.com/watch?v=agrVghBxYUw)
245 | - Bài viết tiếng Anh:
246 | - Mục ***11.1.3. Euclid's Algorithm*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
247 | - [Euclidean algorithm](https://en.wikipedia.org/wiki/Euclidean_algorithm)
248 | - [Euclidean algorithms (Basic and Extended) - GeeksforGeeks](https://www.geeksforgeeks.org/euclidean-algorithms-basic-and-extended/)
249 | - [The Euclidean Algorithm - Khan Academy](https://www.khanacademy.org/computing/computer-science/cryptography/modarithmetic/a/the-euclidean-algorithm)
250 | - [The Euclidean Algorithm - W3Schools](https://www.w3schools.com/dsa/dsa_ref_euclidean_algorithm.php)
251 | - Video tiếng Anh:
252 | - [How to Find the Greatest Common Divisor by Using the Euclidian Algorithm](https://www.youtube.com/watch?v=JUzYl1TYMcU)
253 | - [Euclidean Algorithm - An example](https://www.youtube.com/watch?v=fwuj4yzoX1o)
254 | - [GCD - Euclidean Algorithm (Method 1)](https://www.youtube.com/watch?v=yHwneN6zJmU)
255 | - [GCD - Euclidean Algorithm (Method 2)](https://www.youtube.com/watch?v=svBx8u5bMEg)
256 | - [Euclidean algorithm - Discrete Mathematics](https://www.youtube.com/watch?v=cOwyHTiW4KE)
257 |
258 | ### Lũy thừa modulo
259 | - Bài viết tiếng Việt:
260 | - [Thắc mắc về thuật toán (a^b)%c](https://daynhauhoc.com/t/thac-mac-ve-thuat-toan-a-b-c/81205)
261 | - Video tiếng Việt:
262 | - [GATBMTT Hướng dẫn Tính lũy thừa modulo 4 cách tínhiới](https://www.youtube.com/watch?v=7UgxGjZX3Yw)
263 | - Bài viết tiếng Anh:
264 | - Mục ***11.1.4. Modular Exponentiation*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
265 | - [Modular exponentiation](https://en.wikipedia.org/wiki/Modular_exponentiation)
266 | - Video tiếng Anh:
267 | - [Modular Exponentiation (Part 1)](https://www.youtube.com/watch?v=_gYUlvcnjs0)
268 | - [Modular Exponentiation (Part 2)](https://www.youtube.com/watch?v=bg0P_3UiG5I)
269 | - [Modular exponentiation](https://www.youtube.com/watch?v=EHUgNLN8F1Y)
270 | - [[Discrete Math] Modular Exponentiation](https://www.youtube.com/watch?v=sL-YtCqDS90)
271 | - [Modular exponentiation made easy](https://www.youtube.com/watch?v=tTuWmcikE0Q)
272 |
273 | ### Lũy thừa nhị phân
274 | - Bài viết tiếng Việt:
275 | - [Lũy thừa nhị phân](https://wiki.vnoi.info/algo/algebra/binary_exponentation.md)
276 | - [Binary Exponentiation | Luỹ thừa nhị phân](https://vnspoj.github.io/wikivn/algebra/binary-exp)
277 | - Video tiếng Việt:
278 | - [Thuật toán nhân lũy thừa nhị phân(Binary Exponentiation)](https://www.youtube.com/watch?v=OZufZz1J_ls)
279 | - [Lũy Thừa Nhị Phân | Thuật Toán Tính Lũy Thừa Trong O(LogN)](https://www.youtube.com/watch?v=29tdEwMlCd4)
280 | - Bài viết tiếng Anh:
281 | - [Binary Exponentiation - cp-algorithms](https://cp-algorithms.com/algebra/binary-exp.html)
282 | - [Binary Exponentiation for Competitive Programming](https://www.geeksforgeeks.org/binary-exponentiation-for-competitive-programming/)
283 | - Video tiếng Anh:
284 | - [Binary Exponentiation - Errichto Algorithms](https://www.youtube.com/watch?v=L-Wzglnm4dM)
285 | - [Binary Exponentiation](https://www.youtube.com/watch?v=9VEqjAZxmeA)
286 |
287 | ### Phi hàm Euler
288 | - Bài viết tiếng Việt:
289 | - [Số học 4 - Phi hàm Euler](https://wiki.vnoi.info/translate/he/Number-Theory-4)
290 | - [Hàm phi Euler](https://vi.wikipedia.org/wiki/H%C3%A0m_phi_Euler)
291 | - Video tiếng Việt:
292 | - [Số học: Extended euclid (Euclid mở rộng), nghịch đảo modulo, phi hàm Euler [C++]](https://youtu.be/7s-zFNzzmt8?si=YAJwclJB7-HfTBCW&t=3807)
293 | - [Phi Hàm Euler | Kiểm Tra 2 Số Nguyên Tố Cùng Nhau](https://www.youtube.com/watch?v=aqW91x9Gi3k)
294 | - [Phi Hàm Euler Sử Dụng Sàng Số Nguyên Tố Biến Đổi](https://www.youtube.com/watch?v=8Wh54MRZH_U)
295 | - [VNOI](https)
296 | - Bài viết tiếng Anh:
297 | - Mục ***11.1.5. Euler’s Theorem*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
298 | - [Euler's totient function - Wikipedia](https://en.wikipedia.org/wiki/Euler%27s_totient_function)
299 | - [Euler's totient function - hackerearth](https://www.hackerearth.com/practice/notes/number-theory-iii/)
300 | - [Euler's totient function - cp-algorithms](https://cp-algorithms.com/algebra/phi-function.html)
301 | - Video tiếng Anh:
302 | - [Euler's totient function | Khan Academy](https://youtu.be/qa_hksAzpSg?si=F99tFn-yhRZ0A1c_)
303 | - [Euler’s Totient Function (Phi Function)](https://youtu.be/DwQ7-k9LkJ4?si=C_5EpMlQMFWA_hNQ)
304 | - [Euler’s Totient Function (Solved Examples)](https://youtu.be/osge0_lZTaY?si=zYwOb6Efss3GgX_Y)
305 | - [Euler totient function made easy](https://youtu.be/EcAT1XmHouk?si=9-epQP_o6BMoGGfb)
306 | - [Euler's phi function |Solved examples |Cryptography](https://youtu.be/JcAxWlWgAY4?si=vzGKxRPZN9UnbulT)
307 |
308 | ### Giải phương trình
309 | #### Phương trình nghiệm nguyên
310 | - Bài viết tiếng Việt:
311 | - [Phương trình Diophantos](https://vi.wikipedia.org/wiki/Ph%C6%B0%C6%A1ng_tr%C3%ACnh_Diophantos)
312 | - [Bàn thêm về phương trình Diophantine](https://docvui-suynghi.net/nghien-cuu/kqnc5/)
313 | - Video tiếng Việt:
314 | - [Chuyên đề phương pháp giải phương trình nghiệm nguyên](https://www.youtube.com/watch?v=f_RZcxzRxqo&list=PL6hMtHwzUM0iqAow2IIj14Kftq3GjHA2n)
315 | - Bài viết tiếng Anh:
316 | - Mục ***11.1.6 Solving Equations*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
317 | - [Linear Diophantine Equation - cp-algorithms](https://cp-algorithms.com/algebra/linear-diophantine-equation.html)
318 | - [Diophantine Equation - Wolfram MathWorld](https://mathworld.wolfram.com/DiophantineEquation.html)
319 | - [Diophantine equation](https://en.wikipedia.org/wiki/Diophantine_equation)
320 | - Video tiếng Anh:
321 | - [Diophantine Equation: ax+by=gcd(a,b)](https://youtu.be/FjliV5u2IVw?si=Al_VAFz6D_tClSWq)
322 | - [Diophantine Equations: Strategies and Examples](https://youtu.be/3U3PbYnkkAM?si=myU7OcML2sCt4L3c)
323 | - [Solving a+2ab+b=8 | A Diophantine Equation](https://youtu.be/jgD6DXRfCpE?si=QI2LjccGnYOAHZ7J)
324 | #### Định lý số dư Trung Hoa
325 | - Bài viết tiếng Việt:
326 | - [Định lý số dư Trung Quốc](https://vi.wikipedia.org/wiki/%C4%90%E1%BB%8Bnh_l%C3%BD_s%E1%BB%91_d%C6%B0_Trung_Qu%E1%BB%91c)
327 | - [Định lý số dư Trung Hoa – Chinese Remainder Theorem](https://drx.home.blog/2018/07/25/dinh-ly-so-du-trung-hoa/)
328 | - Video tiếng Việt:
329 | - [Bài toán Hàn Tín điểm binh và ứng dụng - Phần 1](https://youtu.be/sGvVle-LTNY?si=uQRuGyGSAGk0C0RK) - LƯU Ý: Tác giả của kênh Youtube Khoa Học và Chúng Ta này có nhiều video về khoa học ứng dụng hay. Tuy nhiên, ông này đã từng bị trục xuất khỏi nước vì phản động. Vì vậy, hãy thật tỉnh táo khi xem video trên kênh này. Nếu bạn phát hiện ra bất kỳ dấu hiệu nào về việc ông này truyền bá tư tưởng lệch lạc xen kẽ vào trong video, thì hãy thông báo với mình để mình loại bỏ video ra khỏi danh sách nhé.
330 | - [Bài toán Hàn Tín điểm binh và ứng dụng vào công nghệ cao - Phần 2](https://youtu.be/_wj1Io1MTzQ?si=J2r6dzrl7SdV_kcI) - LƯU Ý: Tác giả của kênh Youtube Khoa Học và Chúng Ta này có nhiều video về khoa học ứng dụng hay. Tuy nhiên, ông này đã từng bị trục xuất khỏi nước vì phản động. Vì vậy, hãy thật tỉnh táo khi xem video trên kênh này. Nếu bạn phát hiện ra bất kỳ dấu hiệu nào về việc ông này truyền bá tư tưởng lệch lạc xen kẽ vào trong video, thì hãy thông báo với mình để mình loại bỏ video ra khỏi danh sách nhé.
331 | - Bài viết tiếng Anh:
332 | - Mục ***11.1.6 Solving Equations*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
333 | - [Chinese remainder theorem](https://en.wikipedia.org/wiki/Chinese_remainder_theorem)
334 | - [Chinese Remainder Theorem - cp-algorithms](https://cp-algorithms.com/algebra/chinese-remainder-theorem.html)
335 | - [The Chinese Remainder Theorem - Đại học Stanford](https://crypto.stanford.edu/pbc/notes/numbertheory/crt.html)
336 | - [Introduction to Chinese Remainder Theorem - GeeksforGeeks](https://www.geeksforgeeks.org/introduction-to-chinese-remainder-theorem/)
337 | - Video tiếng Anh:
338 | - [The Chinese Remainder Theorem (Solved Example 1)](https://youtu.be/e8DtzQkjOMQ?si=xxuOCq52uq1M1bYj)
339 | - [The Chinese Remainder Theorem (Solved Example 2)](https://youtu.be/zd1_iY0FSEo?si=tiEDde95BFxmGpag)
340 | - [The Chinese Remainder Theorem made easy](https://youtu.be/ru7mWZJlRQg?si=KmrztdraFt_1VrsT)
341 |
342 | ### Định lý Wilson
343 | - Bài viết tiếng Việt:
344 | - [Định lý Wilson - VNOI Wiki](https://wiki.vnoi.info/translate/he/Wilsons-theorem)
345 | - [Định lý Wilson - Wikipedia](https://vi.wikipedia.org/wiki/%C4%90%E1%BB%8Bnh_l%C3%BD_Wilson)
346 | - Video tiếng Việt:
347 | - [Chứng minh p là số nguyên tố khi và chỉ khi (p-1)! + 1 ⋮ p | Chứng minh Định lý Wilson](https://www.youtube.com/watch?v=4b4SomBO7ZM)
348 | - Bài viết tiếng Anh:
349 | - [Wilson's Theorem - Wolfram MathWorld](https://mathworld.wolfram.com/WilsonsTheorem.html)
350 | - [Wilson’s Theorem - GeeksforGeeks](https://www.geeksforgeeks.org/wilsons-theorem/)
351 | - [Wilson's theorem - Wikipedia](https://en.wikipedia.org/wiki/Wilson%27s_theorem)
352 | - Video tiếng Anh:
353 | - [Wilson's Theorem](https://www.youtube.com/watch?v=VLFjOP7iFI0)
354 | - [Number Theory | Wilson's Theorem](https://www.youtube.com/watch?v=uWoKhyKcEH4)
355 |
356 | ### Hàm Mobius
357 | - Bài viết tiếng Việt:
358 | - [Hàm Mobius - VNOI Wiki](https://wiki.vnoi.info/translate/quora/mobius-function.md)
359 | - Bài viết tiếng Anh:
360 | - [Möbius function - Wikipedia](https://en.wikipedia.org/wiki/M%C3%B6bius_function)
361 | - [Möbius Function - Wolfram MathWorld](https://mathworld.wolfram.com/MoebiusFunction.html)
362 | - Video tiếng Anh:
363 | - [What is the Moebius function?](https://www.youtube.com/watch?v=fGbJrY75LU8)
364 | - [Introduction to Mobius Function](https://www.youtube.com/watch?v=XKjQcPNWMo0)
365 |
366 | ### Hàm nhân tính
367 | - Bài viết tiếng Việt:
368 | - [Hàm nhân tính - VNOI Wiki](https://wiki.vnoi.info/algo/math/multiplicative-function)
369 | - [Hàm nhân tính - Wikipedia](https://vi.wikipedia.org/wiki/H%C3%A0m_nh%C3%A2n_t%C3%ADnh)
370 | - Bài viết tiếng Anh:
371 | - [Multiplicative Functions - Đại học Stanford](https://crypto.stanford.edu/pbc/notes/numbertheory/mult.html)
372 | - [Multiplicative function - Wikipedia](https://en.wikipedia.org/wiki/Multiplicative_function)
373 | - Video tiếng Anh:
374 | - [Multiplicative Function](https://www.youtube.com/watch?v=E6S2_22CLWI)
375 | - [Introduction to number theory lecture 6. Multiplicative functions](https://www.youtube.com/watch?v=skTslDpxeL8)
376 |
377 | ## Tổ hợp
378 |
379 | ### Hệ số nhị thức
380 | - Bài viết tiếng Việt:
381 | - [1. Hệ số nhị thức (Binomial coefficients)](https://vallicon.com/post/t%E1%BB%95-h%E1%BB%A3p-%28combinatorics%29-QxkGEP2pJZb)
382 | - Bài viết tiếng Anh:
383 | - Mục ***11.2.1 Binomial Coefficients*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
384 | - [Binomial coefficient - Wikipedia](https://en.wikipedia.org/wiki/Binomial_coefficient)
385 | - [Binomial Coefficient - Wolfram MathWorld](https://mathworld.wolfram.com/BinomialCoefficient.html)
386 | - [Binomial Coefficient | DP-9 - GeeksforGeeks](https://www.geeksforgeeks.org/binomial-coefficient-dp-9/)
387 | - Video tiếng Anh:
388 | - [How To Evaluate Binomial Coefficients](https://www.youtube.com/watch?v=EKN51vLKves)
389 | - [Binomial Coefficient](https://www.youtube.com/watch?v=WHztDZECzlM)
390 | - [6. Binomial coefficient](https://www.khanacademy.org/computing/pixar/crowds/crowds2/v/combinatorics11)
391 |
392 | ### Dãy số Catalan
393 | - Bài viết tiếng Việt:
394 | - [Số Catalan](https://vi.wikipedia.org/wiki/S%E1%BB%91_Catalan)
395 | - [Một số dãy số đặc biệt (Fibonacci, Catalan, Euler)](https://viblo.asia/p/mot-so-day-so-dac-biet-fibonacci-catalan-euler-Az45bq6qlxY)
396 | - Video tiếng Việt:
397 | - [[Toán-Vật lý] Số Catalan - Catalan Numbers](https://www.youtube.com/watch?v=PDx1B9GqjIs)
398 | - Bài viết tiếng Anh:
399 | - Mục ***11.2.2 Catalan Numbers*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
400 | - [Catalan number - Wikipedia](https://en.wikipedia.org/wiki/Catalan_number)
401 | - [Catalan Numbers - cp-algorithms](https://cp-algorithms.com/combinatorics/catalan-numbers.html)
402 | - [Catalan Number - Wolfram MathWorld](https://mathworld.wolfram.com/CatalanNumber.html)
403 | - Video tiếng Anh:
404 | - [Catalan Numbers - Numberphile](https://www.youtube.com/watch?v=fczN0BCx0xs)
405 | - [The Most Important Sequence: The Catalan Numbers](https://www.youtube.com/watch?v=TAuJV5eNKLM)
406 |
407 | ### Bao hàm - Loại trừ
408 | - Bài viết tiếng Việt:
409 | - [Số học 7 - Bao hàm - Loại trừ (Inclusion-Exclusion) - VNOI Wiki](https://wiki.vnoi.info/translate/he/Number-Theory-7)
410 | - [Nguyên lý bao hàm-loại trừ - Wikipedia](https://vi.wikipedia.org/wiki/Nguy%C3%AAn_l%C3%BD_bao_h%C3%A0m-lo%E1%BA%A1i_tr%E1%BB%AB)
411 | - [Công thức Bao hàm - Loại trừ](https://viblo.asia/p/cong-thuc-bao-ham-loai-tru-3Q75wNQJlWb)
412 | - Video tiếng Việt:
413 | - [BD HSG - PM Tổ Hợp - Bài 3: Nguyên lí bù trừ 1](https://www.youtube.com/watch?v=4Ey4ZY3-7Kk)
414 | - [BD HSG - PM Tổ Hợp - Bài 5: Nguyên lý bù trừ 2](https://www.youtube.com/watch?v=kjwwHWIgIQU)
415 | - [[Toán rời rạc] - Nguyên lý bù trừ - TS Trần Hoan](https://www.youtube.com/watch?v=F75-DxKqL48)
416 | - Bài viết tiếng Anh:
417 | - Mục ***11.2.3 Inclusion-Exclusion*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
418 | - [Inclusion–exclusion principle - Wikipedia](https://en.wikipedia.org/wiki/Inclusion%E2%80%93exclusion_principle)
419 | - [The Inclusion-Exclusion Principle - cp-algorithms](https://cp-algorithms.com/combinatorics/inclusion-exclusion.html)
420 | - [Inclusion-Exclusion Principle - USACO Guide](https://usaco.guide/plat/PIE?lang=cpp)
421 | - [Inclusion-Exclusion and its various Applications - GeeksforGeeks](https://www.geeksforgeeks.org/inclusion-exclusion-various-applications/)
422 | - Video tiếng Anh:
423 | - [Visual Inclusion/Exclusion](https://www.youtube.com/shorts/xLQFOBo71w0)
424 | - [Inclusion-exclusion principle made easy](https://www.youtube.com/watch?v=FOfEgJodjXc)
425 | - [Ch9Pr4: Inclusion/Exclusion Principle](https://www.youtube.com/watch?v=szUTQRJU76Q)
426 |
427 | ### Bổ đề Burnside
428 | - Bài viết tiếng Việt:
429 | - [Bổ đề Burnside](https://vi.wikipedia.org/wiki/B%E1%BB%95_%C4%91%E1%BB%81_Burnside)
430 | - [4. Bổ đề Burnside (Burnside lemma)](https://vallicon.com/post/t%E1%BB%95-h%E1%BB%A3p-%28combinatorics%29-QxkGEP2pJZb)
431 | - Bài viết tiếng Anh:
432 | - Mục ***11.2.4 Burnside’s Lemma*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
433 | - [Burnside's lemma - Wikipedia](https://en.wikipedia.org/wiki/Burnside%27s_lemma)
434 | - [Burnside's lemma / Pólya enumeration theorem - cp-algorithms](https://cp-algorithms.com/combinatorics/burnside.html)
435 | - [Orbit counting theorem or Burnside’s Lemma - GeeksforGeeks](https://www.geeksforgeeks.org/orbit-counting-theorem-or-burnsides-lemma/)
436 | - Video tiếng Anh:
437 | - [Burnside's Lemma (Part 1) - combining group theory and combinatorics](https://www.youtube.com/watch?v=6kfbotHL0fs)
438 | - [Burnside's Lemma (Part 2) - combining math, science and music](https://www.youtube.com/watch?v=SLI9fiiObKs)
439 | - [Maths Problem: Complete Noughts and Crosses (Burnside's Lemma)](https://www.youtube.com/watch?v=wdDF7_vfLcE)
440 | - [Burnside's lemma: counting up to symmetries](https://www.youtube.com/watch?v=D0d9bYZ_qDY)
441 |
442 | ### Công thức Cayley
443 | - Bài viết tiếng Việt:
444 | - [5. Công thức Cayley (Cayley formula)](https://vallicon.com/post/t%E1%BB%95-h%E1%BB%A3p-%28combinatorics%29-QxkGEP2pJZb)
445 | - Bài viết tiếng Anh:
446 | - Mục ***11.2.5 Cayley’s Formula*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
447 | - [Cayley's formula - Wikipedia](https://en.wikipedia.org/wiki/Cayley%27s_formula)
448 | - [Cayley’s Formula - GeeksforGeeks](https://www.geeksforgeeks.org/cayleys-formula/)
449 | - [A Visual Telling of Joyal’s Proof Of Cayley’s Formula](https://golem.ph.utexas.edu/category/2019/12/a_visual_telling_of_joyals_pro.html)
450 | - Video tiếng Anh:
451 | - [Graph Theory: 40. Cayley's Formula and Prufer Seqences part 1/2](https://www.youtube.com/watch?v=Ve447EOW8ww)
452 | - [Graph Theory: 41. Cayley's Formula and Prufer Seqences part 2/2](https://www.youtube.com/watch?v=utfW-xsDp3Y)
453 | - [Cayley's Formula](https://www.youtube.com/watch?v=g-QyzzPM4rU)
454 |
455 | ### Biến đổi Fourier nhanh - FFT
456 | - Bài viết tiếng Việt:
457 | - [Biến đổi Fourier nhanh - Fast Fourier transform - VNOI Wiki](https://wiki.vnoi.info/algo/trick/FFT)
458 | - [Biến đổi Fourier nhanh - Wikipedia](https://vi.wikipedia.org/wiki/Bi%E1%BA%BFn_%C4%91%E1%BB%95i_Fourier_nhanh)
459 | - Video tiếng Việt:
460 | - [Biến đổi Fourier - Xử lý ảnh - TS. Nguyễn Thanh Hải](https://www.youtube.com/watch?v=0z1obWIbj34)
461 | - [DFT và FFT DTFt THsxths](https://www.youtube.com/watch?v=BY8F4UAdpTI)
462 | - [Tính DFT 8 điểm bằng thuật toán FFT theo thời gian _ PTIT _ XỬ LÝ TÍN HIỆU SỐ](https://www.youtube.com/watch?v=v5fbfwuCOII)
463 | - Bài viết tiếng Anh:
464 | - [Fast Fourier transform - cp-algorithms](https://cp-algorithms.com/algebra/fft.html)
465 | - [Fast Fourier transform - Wikipedia](https://en.wikipedia.org/wiki/Fast_Fourier_transform)
466 | - [Fast Fourier Transform - Wolfram MathWorld](https://mathworld.wolfram.com/FastFourierTransform.html)
467 | - [Fourier Transform Visualization](https://prajwalsouza.github.io/Experiments/Fourier-Transform-Visualization.html)
468 | - Video tiếng Anh:
469 | - [But what is the Fourier Transform? A visual introduction - 3Blue1Brown](https://www.youtube.com/watch?v=spUNpyF58BY)
470 | - [The Fast Fourier Transform (FFT): Most Ingenious Algorithm Ever?](https://www.youtube.com/watch?v=h7apO7q16V0)
471 | - [Ocean waves simulation with Fast Fourier transform](https://www.youtube.com/watch?v=kGEqaX4Y4bQ)
472 | - [Understanding the Discrete Fourier Transform and the FFT](https://www.youtube.com/watch?v=QmgJmh2I3Fw)
473 |
474 | ## Ma trận
475 |
476 | ### Nhân ma trận
477 | - Bài viết tiếng Việt:
478 | - [Nhân ma trận (Matrix multiplication) - VNOI Wiki](https://wiki.vnoi.info/algo/trick/matrix-multiplication)
479 | - [Phép nhân ma trận - Wikipedia](https://vi.wikipedia.org/wiki/Ph%C3%A9p_nh%C3%A2n_ma_tr%E1%BA%ADn)
480 | - [Ứng dụng nhân ma trận trong các bàI toán tin học](https://storage-vnportal.vnpt.vn/lci-ubnd-responsive/sitefolders/thptchuyen-laocai/5251/chuyen-de/nhan-ma-tran.pdf)
481 | - [Kiểm tra kết quả nhân ma trận](https://matrixcalc.org/vi/)
482 | - Video tiếng Việt:
483 | - [Đại số 1.1 Ma trận và các phép toán với ma trận](https://www.youtube.com/watch?v=08p_hP46YeA)
484 | - [Nhân hai ma trận-đại số tuyến tính-đơn giản dễ hiểu.](https://www.youtube.com/watch?v=trn_AgQ-DPU)
485 | - [Đại số tuyến tính - Phép nhân hai ma trận](https://www.youtube.com/watch?v=ySo2819l0HE)
486 | - Bài viết tiếng Anh:
487 | - Mục ***11.3 Matrices*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
488 | - [How to Multiply Matrices](https://www.mathsisfun.com/algebra/matrix-multiplying.html)
489 | - [Matrix Multiplication - GeeksforGeeks](https://www.geeksforgeeks.org/matrix-multiplication/)
490 | - [Matrix multiplication - Wikipedia](https://en.wikipedia.org/wiki/Matrix_multiplication)
491 | - Video tiếng Anh:
492 | - [Multiplying matrices - Khan Academy](https://www.khanacademy.org/math/precalculus/x9e81a4f98389efdf:matrices/x9e81a4f98389efdf:multiplying-matrices-by-matrices/v/multiplying-a-matrix-by-a-matrix)
493 | - [Multiplying Matrices](https://www.youtube.com/watch?v=vzt9c7iWPxs)
494 | - [How To Multiply Matrices - Quick & Easy!](https://www.youtube.com/watch?v=2spTnAiQg4M)
495 |
496 | ### Khử nhân ma trận
497 | - Bài viết tiếng Việt:
498 | - [Khử nhân ma trận - VNOI Wiki](https://wiki.vnoi.info/algo/trick/counting-without-matrix-multiplication)
499 | - Bài viết tiếng Anh:
500 | - [An efficient way to solve some counting problems without matrix multiplication](https://codeforces.com/blog/entry/14385)
501 |
502 | ### Truy hồi tuyến tính
503 | - Bài viết tiếng Anh:
504 | - Mục ***11.3.2 Linear Recurrences*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
505 | - [[Tutorial] Solving Linear Recurrences with various methods, Including O(N logN logK) using FFT](https://codeforces.com/blog/entry/97627)
506 | - Video tiếng Anh:
507 | - [Solving Linear Recurrence Relations 1](https://www.youtube.com/watch?v=aHw7hAAjbD0)
508 | - [Solving Linear Recurrence Relations 2](https://www.youtube.com/watch?v=moQvLm8JlIc)
509 |
510 | ### Ma trận kề
511 | - Bài viết tiếng Việt:
512 | - [Ma trận kề - Wikipedia](https://vi.wikipedia.org/wiki/Ma_tr%E1%BA%ADn_k%E1%BB%81)
513 | - [Ma trận kề – Biểu diễn đồ thị, danh sách kề và bài tập](https://ttnguyen.net/ma-tran-ke/)
514 | - Video tiếng Việt:
515 | - [Biểu Diễn Đồ Thị Trên Máy Tính | Ma Trận Kề | Danh Sách Kề | Danh Sách Cạnh](https://www.youtube.com/watch?v=JtWcUHRyqkA)
516 | - [Biểu diễn đồ thị với ma trận kề và danh sách kề](https://www.youtube.com/watch?v=XbG8unze83s)
517 | - Bài viết tiếng Anh:
518 | - Mục ***11.3.3 Graphs and Matrices*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
519 | - [Adjacency matrix - Wikipedia](https://en.wikipedia.org/wiki/Adjacency_matrix)
520 | - Video tiếng Anh:
521 | - [Graph Representation with an Adjacency Matrix](https://www.youtube.com/watch?v=7AhHGp7EzZ8)
522 | - [Graph Representation part 02 - Adjacency Matrix](https://www.youtube.com/watch?v=9C2cpQZVRBA)
523 | - [Adjacency Matrices | Example | Graph representation | Data Structures](https://www.youtube.com/watch?v=1h2BoCtobXw)
524 |
525 | ### Phép khử Gauss
526 | - Bài viết tiếng Việt:
527 | - [Phép khử Gauss - Wikipedia](https://vi.wikipedia.org/wiki/Ph%C3%A9p_kh%E1%BB%AD_Gauss)
528 | - [Giải hệ phương trình theo phương pháp Gauss - Cách hiệu quả và đơn giản](https://rdsic.edu.vn/blog/toan/buoc-dac-diem-giai-he-phuong-trinh-theo-phuong-phap-gauss-vi-cb.html)
529 | - Video tiếng Việt:
530 | - [Phép khử Gauss (Gauss Elimination)](https://www.youtube.com/watch?v=FL_oFFdkdkI)
531 | - [Toán cao cấp - Giải hệ phương trình tuyến tính bằng phương pháp Gauss](https://www.youtube.com/watch?v=0XeU4Li5p9M)
532 | - Bài viết tiếng Anh:
533 | - Mục ***11.3.4 Gaussian Elimination*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
534 | - [Gaussian elimination - Wikipedia](https://en.wikipedia.org/wiki/Gaussian_elimination)
535 | - [Gaussian Elimination - Wolfram MathWorld](https://mathworld.wolfram.com/GaussianElimination.html)
536 | - [Gaussian Elimination to Solve Linear Equations - GeeksforGeeks](https://www.geeksforgeeks.org/gaussian-elimination/)
537 | - Video tiếng Anh:
538 | - [Gaussian Elimination & Row Echelon Form](https://www.youtube.com/watch?v=eDb6iugi6Uk)
539 | - [Gaussian Elimination.. How?](https://www.youtube.com/watch?v=1IHsX1lgpRI)
540 | - [Gaussian Elimination](https://www.youtube.com/watch?v=2j5Ic2V7wq4)
541 |
542 | ## Xác suất
543 |
544 | ### Biến cố
545 | - Bài viết tiếng Việt:
546 | - [Xác suất - VNOI Wiki](https://wiki.vnoi.info/translate/topcoder/Hieu-ve-xac-suat)
547 | - [Biến cố (lý thuyết xác suất) - Wikipedia](https://vi.wikipedia.org/wiki/Bi%E1%BA%BFn_c%E1%BB%91_(l%C3%BD_thuy%E1%BA%BFt_x%C3%A1c_su%E1%BA%A5t))
548 | - Video tiếng Việt:
549 | - [Xác Suất Của Biến Cố (Toán 11 và Toán 10 Sgk Mới) - Full Dạng](https://www.youtube.com/watch?v=7n7sbf7G27c)
550 | - [Biến cố hợp, biến cố giao, biến cố độc lập - Xác suất - Toán lớp 11](https://www.youtube.com/watch?v=QaKZsE5A8dE)
551 | - [Làm quen với biến cố và biến cố ngẫu nhiên | Toán lớp 7 chương trình mới](https://www.youtube.com/watch?v=6iqSlsoP6fc)
552 | - Bài viết tiếng Anh:
553 | - Mục ***11.4.1 Working with Events*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
554 | - [Understanding probabilities - TopCoder](https://www.topcoder.com/thrive/articles/Understanding%20Probabilities)
555 | - [Working with Events](https://math.libretexts.org/Courses/Prince_Georges_Community_College/MAT_1130_Mathematical_Ideas_Mirtova_Jones_(PGCC%3A_Fall_2022)/03%3A_Probability/3.04%3A_Working_with_Events)
556 | - [Events in Probability - GeeksforGeeks](https://www.geeksforgeeks.org/events-in-probability/)
557 | - Video tiếng Anh:
558 | - [Introduction to Probability, Basic Overview](https://www.youtube.com/watch?v=SkidyDQuupA)
559 | - [Probability of Complementary Events & Sample Space](https://www.youtube.com/watch?v=0T-CaQCiSf4)
560 | - [Probability of Independent and Dependent Events](https://www.youtube.com/watch?v=LS-_ihDKr2M)
561 | - [The Probability of the Union of Events](https://www.youtube.com/watch?v=vqKAbhCqSTc)
562 | - [Mutually Exclusive and Exhaustive Events](https://www.youtube.com/watch?v=f7agTv9nA5k)
563 |
564 | ### Biến ngẫu nhiên
565 | - Bài viết tiếng Việt:
566 | - [Biến ngẫu nhiên - Wikipedia](https://vi.wikipedia.org/wiki/Bi%E1%BA%BFn_ng%E1%BA%ABu_nhi%C3%AAn)
567 | - [Biến ngẫu nhiên](https://staff.agu.edu.vn/dhan/files/2014/07/Chuong-2.pdf)
568 | - [Biến Ngẫu nhiên - Toán học cho Học sâu](https://d2l.aivivn.com/chapter_appendix-mathematics-for-deep-learning/random-variables_vn.html)
569 | - Video tiếng Việt:
570 | - [Biến ngẫu nhiên, hàm phân phối xác suất, biến ngẫu nhiên rời rạc](https://www.youtube.com/watch?v=jK0QVGqmJ9k)
571 | - [XSTK0201 - Đại Lượng Ngẫu Nhiên](https://www.youtube.com/watch?v=vZn76z87myE&list=PLGCznU8pVwauIcqqCfsNBUQhFb75p1LYJ&index=8)
572 | - Bài viết tiếng Anh:
573 | - Mục ***11.4.2 Random Variables*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
574 | - [Random variable - Wikipedia](https://en.wikipedia.org/wiki/Random_variable)
575 | - [Random Variables - ĐH Yale](http://www.stat.yale.edu/Courses/1997-98/101/ranvar.htm)
576 | - [Random Variable - GeeksforGeeks](https://www.geeksforgeeks.org/random-variable/)
577 | - Video tiếng Anh:
578 | - [Random variables | Probability and Statistics - Khan Academy](https://www.youtube.com/watch?v=3v9w79NhsfI)
579 | - [Random Variables and Probability Distributions](https://www.youtube.com/watch?v=lHCpYeFvTs0)
580 | - [Discrete Random Variables: Distributions 2](https://www.youtube.com/watch?v=V_f_WY-9xto)
581 | - [Understanding Discrete Random Variables and Probability Distributions - ĐH Harvard](https://www.youtube.com/watch?v=ZoIPuTIPviY)
582 | - [Understanding Continuous Random Variables and Probability Distributions - ĐH Harvard](https://www.youtube.com/watch?v=UVQs9zikfe0)
583 | - [Random Variables - Eddie Woo](https://www.youtube.com/playlist?list=PL5KkMZvBpo5C9nhzyacvNtcWHLh3mvXJE)
584 |
585 | ### Chuỗi Markov
586 | - Bài viết tiếng Việt:
587 | - [Markov Chain và bài toán 'Sáng nay ăn gì'](https://tuanio.github.io/posts/markov-chain-va-bai-toan-sang-nay-an-gi/)
588 | - Bài viết tiếng Anh:
589 | - Mục ***11.4.3 Markov Chains*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
590 | - [Markov chain - Wikipedia](https://en.wikipedia.org/wiki/Markov_chain)
591 | - [Markov Chain Explained](https://builtin.com/machine-learning/markov-chain)
592 | - Video tiếng Anh:
593 | - [Markov Chains Clearly Explained!](https://www.youtube.com/playlist?list=PLM8wYQRetTxBkdvBtz-gw8b9lcVkdXQKV)
594 | - [Introducing Markov Chains](https://www.youtube.com/watch?v=JHwyHIz6a8A)
595 | - [Origin of Markov chains - Khan Academy](https://www.youtube.com/watch?v=Ws63I3F7Moc)
596 |
597 | ### Thuật toán ngẫu nhiên
598 | - Bài viết tiếng Việt:
599 | - [Phương pháp Monte Carlo - Wikipedia](https://vi.wikipedia.org/wiki/Ph%C6%B0%C6%A1ng_ph%C3%A1p_Monte_Carlo)
600 | - [Thuật toán ngẫu nhiên - VNOI Wiki](https://wiki.vnoi.info/translate/topcoder/Hieu-ve-xac-suat#thu%E1%BA%ADt-to%C3%A1n-ng%E1%BA%ABu-nhi%C3%AAn)
601 | - [Các thuật toán ngẫu nhiên (Randomized algorithms)](https://vallicon.com/post/x%C3%A1c-su%E1%BA%A5t-%28probability%29-Gb7qzWwzWk8)
602 | - Video tiếng Việt:
603 | - [Cách tính diện tích hình bất kì. Sử dụng phương pháp Monte Carlo](https://www.youtube.com/watch?v=ddBpdmo7zyk)
604 | - Bài viết tiếng Anh:
605 | - Mục ***11.4.4 Randomized Algorithms*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
606 | - [Monte Carlo algorithm - Wikipedia](https://en.wikipedia.org/wiki/Monte_Carlo_algorithm)
607 | - [Monte Carlo Randomized Algorithms](https://www.cs.cmu.edu/~harchol/Probability/chapters/chpt22.pdf)
608 | - [Randomized Algorithms - GeeksforGeeks](https://www.geeksforgeeks.org/randomized-algorithms-set-2-classification-and-applications/)
609 | - [Las Vegas algorithm - Wikipedia](https://en.wikipedia.org/wiki/Las_Vegas_algorithm)
610 | - [When to Choose Randomized Algorithms: Understanding Las Vegas and Monte Carlo Algorithms](https://medium.com/@sachin.shreya21/when-to-choose-randomized-algorithms-understanding-las-vegas-and-monte-carlo-algorithms-9324d5e9f996)
611 | - Video tiếng Anh:
612 | - [Monte Carlo Simulation](https://www.youtube.com/watch?v=7ESK5SaP-bc)
613 | - [Monte Carlo Simulation - MIT OpenCourseWare](https://www.youtube.com/watch?v=OgO1gpXSUzU)
614 | - [What is Monte Carlo Simulation? - IBM Technology](https://www.youtube.com/watch?v=7TqhmX92P6U)
615 | - [A Simple Solution for Really Hard Problems: Monte Carlo Simulation](https://www.youtube.com/watch?v=slbZ-SLpIgg)
616 | - [Randomized algorithm Las Vegas and Monte Carlo Algorithm](https://www.youtube.com/watch?v=Nn_Eq7--Rk4)
617 |
618 | ## Lý thuyết trò chơi
619 |
620 | ### Game State
621 | - Bài viết tiếng Việt:
622 | - [Lý thuyết trò chơi - VNOI Wiki](https://wiki.vnoi.info/algo/math/game-theory.md)
623 | - [Lý thuyết trò chơi - Wikipedia](https://vi.wikipedia.org/wiki/L%C3%BD_thuy%E1%BA%BFt_tr%C3%B2_ch%C6%A1i)
624 | - [Lý thuyết trò chơi (Game theory)](https://vallicon.com/post/l%C3%BD-thuy%E1%BA%BFt-tr%C3%B2-ch%C6%A1i-%28game-theory%29-J3BAz6WpkZM)
625 | - [Lý thuyết trò chơi - có phải để chơi?](https://bigocoder.com/articles/Ly-thuyet-tro-choi-co-phai-dje-choi)
626 | - Video tiếng Việt:
627 | - [Thuật toán Lý thuyết trò chơi phổ biến trong Lập trình thi đấu - anh Phạm Văn Hạnh VNOI](https://www.youtube.com/watch?v=sFaL_AVU-gw)
628 | - [Game Theory và Ứng Dụng trong Xã Hội](https://www.youtube.com/watch?v=HxAafpzmQXw)
629 | - Bài viết tiếng Anh:
630 | - Mục ***11.5.1 Game States*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
631 | - [Game theory - Wikipedia](https://en.wikipedia.org/wiki/Game_theory)
632 | - [Game Theory - GeeksforGeeks](https://www.geeksforgeeks.org/game-theory/)
633 | - Video tiếng Anh:
634 | - [Game Theory Explained in One Minute](https://www.youtube.com/watch?v=YueJukoFBMU)
635 | - [How Decision Making is Actually Science: Game Theory Explained](https://www.youtube.com/watch?v=MHS-htjGgSY)
636 | - [What game theory teaches us about war | Simon Sinek](https://www.youtube.com/watch?v=0bFs6ZiynSU)
637 | - [3 game theory tactics, explained](https://www.youtube.com/watch?v=PsLaI4jDftA)
638 |
639 | ### Trò chơi Nim
640 | - Bài viết tiếng Việt:
641 | - [Lý thuyết trò chơi - VNOI Wiki](https://wiki.vnoi.info/algo/math/game-theory.md)
642 | - [Lý thuyết trò chơi (Game theory)](https://vallicon.com/post/lý-thuyết-trò-chơi-%28game-theory%29-J3BAz6WpkZM)
643 | - Video tiếng Việt:
644 | - [Trò chơi NIM - Giải thuật minimax](https://www.youtube.com/watch?v=2RSBvP1rGyg)
645 | - Bài viết tiếng Anh:
646 | - Mục ***11.5.2 Nim Game*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
647 | - [Combinatorial Game Theory | Set 2 (Game of Nim) - GeeksforGeeks](https://www.geeksforgeeks.org/combinatorial-game-theory-set-2-game-nim/)
648 | - [Nim - Wikipedia](https://en.wikipedia.org/wiki/Nim)
649 | - [Game Theory - USACO Guide](https://usaco.guide/adv/game-theory?lang=cpp)
650 | - [Sprague-Grundy theorem. Nim - cp-algorithms](https://cp-algorithms.com/game_theory/sprague-grundy-nim.html)
651 | - [Nim](https://brilliant.org/wiki/nim/#:~:text=Nim%20is%20a%20combinatorial%20game,come%20from%20the%20same%20heap.)
652 | - Video tiếng Anh:
653 | - [The Game of Nim - a math game of strategy using matchsticks!](https://www.youtube.com/watch?v=SUh8C387BVU)
654 | - [Winner in Nim Game || Game theory || Competitive Programming](https://www.youtube.com/watch?v=wzQgidFSzdw) - Lưu ý: Video này của anh Ấn Độ nói tiếng Hindi, có thể sử dụng chức năng dịch tự động của Youtube để hiểu anh ý nói gì
655 |
656 | ### Định lý Sprague–Grundy
657 | - Bài viết tiếng Việt:
658 | - [Lý thuyết trò chơi - VNOI Wiki](https://wiki.vnoi.info/algo/math/game-theory.md)
659 | - [Algorithm: Định lý Sprague – Grundy](https://manhhomienbienthuy.github.io/2017/05/02/algorithm-dinh-ly-sprague-grundy.html)
660 | - Bài viết tiếng Anh:
661 | - Mục ***11.5.3 Sprague–Grundy Theorem*** trong cuốn [Guide to Competitive Programming](https://drive.google.com/file/d/1-V14oys49VJM6oipdcaIGcLzakaR_Hkn/view)
662 | - [Sprague-Grundy theorem. Nim - cp-algorithms](https://cp-algorithms.com/game_theory/sprague-grundy-nim.html)
663 | - [Sprague–Grundy theorem - Wikipedia](https://en.wikipedia.org/wiki/Sprague%E2%80%93Grundy_theorem)
664 | - [Combinatorial Game Theory | Set 4 (Sprague – Grundy Theorem) - GeeksforGeeks](https://www.geeksforgeeks.org/combinatorial-game-theory-set-4-sprague-grundy-theorem/)
665 | - [A blog on the Sprague-Grundy Theorem](https://codeforces.com/blog/entry/63054)
666 | - Video tiếng Anh:
667 | - [Sprague-Grundy-Theorem](https://www.youtube.com/watch?v=GRlGknQEOW8)
668 | - [Sprague Grundy Theorem - Combinatorial Game Theory - II](https://www.youtube.com/watch?v=AbJqhMm8htw)
669 |
670 |
--------------------------------------------------------------------------------
/media/chrome_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tmsanghoclaptrinh/tmsang-hoc-thuat-toan/56737c0c833c65c4309da7c55f07ae3db41a31c5/media/chrome_logo.png
--------------------------------------------------------------------------------
/media/screenshot.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tmsanghoclaptrinh/tmsang-hoc-thuat-toan/56737c0c833c65c4309da7c55f07ae3db41a31c5/media/screenshot.jpeg
--------------------------------------------------------------------------------