Giải bài toán quan hệ họ hàng bằng cấu trúc Union-Find
Bài toán yêu cầu xác định xem hai người có cùng một tổ tiên (thuộc cùng một nhóm họ hàng) hay không, dựa trên các mối quan hệ đã cho. Đây là bài toán kinh điển áp dụng cấu trúc dữ liệu Union-Find (Disjoint Set Union - DSU).
Dưới đây là cách triển khai bằng Java:
import java.util.Scanner;
public class Main {
static int[] parent;
// K ...
Đăng vào ngày 5 tháng 7 lúc 10:54
Giải Bài Toán Chuỗi Số Trên Luogu P5517
Bài toán và phân tích
Bài toán yêu cầu tính giá trị của dãy số: (a_0=-3, a_1=-6, a_2=-12), với công thức truy hồi (a_n=3a_{n-1}+a_{n-2}-3a_{n-3}+3^n). Tìm tổng XOR của (T) giá trị (a_n \mod p).
Phân tích bài toán:
Có thể sử dụng hai phương pháp chính là ma trận (lũy thừa nhanh) và công thức tổng quát.
Cả hai cách đều có độ phức tạp (O(\log_2(n ...
Đăng vào ngày 28 tháng 5 lúc 23:57
Luogu P1886 Cửa Sổ Trượt (Queue Đơn Điệu)
Mô Tả Câu Hỏi
Hiện tại chúng ta có một dãy số gồm N phần tử (N ≤ 10^6), cùng với một cửa sổ trượt có kích thước k. Cửa sổ này sẽ trượt từ bên trái sang phải, mỗi lần trượt một đơn vị. Nhiệm vụ là tìm giá trị lớn nhất và nhỏ nhất trong cửa sổ sau mỗi lần trượt.
Ví dụ:
Dãy số là [1, 3, -1, -3, 5, 3, 6, 7], và k = 3.
Định Dạng Nhập Xuất
...
Đăng vào ngày 26 tháng 5 lúc 03:16