Cây K-D
Cây K-D là một cấu trúc dữ liệu có khả năng xử lý các vấn đề trong không gian đa chiều. Nó được tổ chức dưới dạng một cây nhị phân tìm kiếm, chia nhỏ không gian nhiều chiều thành các phần và đảm bảo rằng tọa độ của nút nào đó trên một trục nhất định sẽ lớn hơn tất cả các nút bên trái và nhỏ hơn tất cả các nút bên phải.
Xây dựng Cây K-D
Để xây d ...
Đăng vào ngày 3 tháng 6 lúc 17:34
Tính độc lập nền tảng của ngôn ngữ lập trình
Các ngôn ngữ lập trình như C và Java thể hiện hai phương pháp khác nhau trong việc xử lý tính tương thích đa nền tảng. Để hiểu rõ nguyên lý này, chúng ta sẽ phân tích quy trình biên dịch và thực thi chương trình "Hello World" ở cả hai hệ thống.
Quy trình biên dịch chương trình C
#include <stdio.h>
int main() {
printf("Hello, World! ...
Đăng vào ngày 3 tháng 6 lúc 01:35
Các bài toán xử lý danh sách liên kết trên LeetCode
21. Gộp hai danh sách liên kết đã sắp xếp
Cho hai danh sách liên kết tăng dần, hãy gộp chúng thành một danh sách mới cũng theo thứ tự tăng dần.
ListNode* merge(ListNode* a, ListNode* b) {
if (!a) return b;
if (!b) return a;
if (a->val < b->val) {
a->next = merge(a->next, b);
return a;
} else {
...
Đăng vào ngày 2 tháng 6 lúc 21:43
Bài tập thi Lan Qiao Cup C/C++ Nhóm A năm 2024
Bài tập A: Nghệ Thuật và Bóng Rổ
Mã nguồn giải:
#include <bits/stdc++.h>
using namespace std;
int diem[10] = {13, 1, 2, 3, 5, 4, 4, 2, 2, 2};
bool laNamNhuan(int nam) {
return (nam % 400 == 0) || (nam % 4 == 0 && nam % 100 != 0);
}
int ngayLonNhat(int nam, int thang) {
if (thang == 1 || thang == 3 || thang == 5 || thang == 7 | ...
Đăng vào ngày 2 tháng 6 lúc 03:15
Ghi chú giải bài - AT Typical 90 T7
Giải bài CP Classes trên ATCoder
Yêu cầu bài toán
Trong lớp học lập trình ABC có $N$ nhóm học. Nhóm thứ $i$ (với $1 \le i \le N$) có tiêu chuẩn tuyển sinh là xếp hạng $A_i$.
Hiện có $Q$ học viên đăng ký. Học viên thứ $j$ (với $1 \le j \le Q$) có xếp hạng $B_j$. Mỗi học viên cảm thấy không hài lòng nếu không phù hợp với nhóm. Độ không hài lòng đ ...
Đăng vào ngày 1 tháng 6 lúc 23:51
Triển khai Tìm kiếm Nhị phân và Ứng dụng trong Thư viện STL Tiêu chuẩn
Trong các bài toán lập trình, thao tác tìm kiếm xuất hiện thường xuyên. Nếu sử dụng phương pháp tìm kiếm lực lượng (brute-force) với lượng dữ liệu lớn, chương trình sẽ gặp vấn đề về thời gian thực thi (ví dụ: với quy mô (10^5) thì độ phức tạp (O(n^2)) thường vượt quá thời gian cho phép, trong khi (O(nlogn)) thường chấp nhận được). Vì vậy, tìm k ...
Đăng vào ngày 1 tháng 6 lúc 23:28
Tổng hợp thuật toán STL C++ (Phần 1)
1. Thuật toán không thay đổi dãy
Các thuật toán này không làm thay đổi các phần tử trong container mà chúng thao tác.
1.1 find và find_if
find(begin, end, value): Tìm phần tử đầu tiên bằng value, trả về iterator (trả về
end nếu không tìm thấy).
find_if(begin, end, predicate): Tìm phần tử đầu tiên thỏa mãn predicate.
find_end(begin, end, sub ...
Đăng vào ngày 1 tháng 6 lúc 22:58
Phân Tích Và Tối Ưu Thuật Toán Nhân Tử Nguyên Tố CCF
Giới thiệu bài toán xử lý thừa số nguyên tố
Khi giải quyết các bài toán liên quan đến số học lớn trong kỳ thi lập trình như CCF, việc phân tích nhân tử là bước cơ bản nhưng yêu cầu độ chính xác và hiệu suất cao. Đề bài đặt ra yêu cầu xác định các thừa số nguyên tố của một số n với điều kiện loại bỏ những thừa số có số mũ nhỏ hơn ngưỡng k. Phạm ...
Đăng vào ngày 1 tháng 6 lúc 22:26
Tối Ưu Kích Thước Sô-cô-la Phân Phối Bằng Phương Pháp Nhị Phân
Nguồn: Cuộc thi Lanqiao Cup C++ A/B Nhóm 8
Nhãn thuật toán: Tìm kiếm nhị phân
Mô tả bài toán
Vào Ngày Thiếu nhi, có K bạn nhỏ đến nhà bạn Minh chơi.
Bạn Minh đã chuẩn bị những thanh sô-cô-la quý giá để đãi các bạn nhỏ.
Bạn Minh có tổng cộng N thanh sô-cô-la, trong đó thanh thứ i có kích thước Hi × Wi.
Để đảm bảo sự công bằng, bạn Minh cần cắt K ...
Đăng vào ngày 1 tháng 6 lúc 21:04
Bài giải cho bài tập ybt1255: Vấn đề Labyrinth
Mô tả bài toán
Bài toán yêu cầu tìm đường đi ngắn nhất trong một mê cung 5x5.
Giải pháp
Với kích thước nhỏ như vậy, có nhiều cách để giải quyết vấn đề này. Một phương pháp đơn giản là sử dụng BFS để tìm đường đi ngắn nhất và đồng thời ghi lại đường đi.
Trong quá trình BFS, ta không chỉ lưu trữ vị trí hiện tại mà còn lưu chuỗi ký tự thể hiện đườ ...
Đăng vào ngày 1 tháng 6 lúc 20:28