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 2019 Zheng Rui Luyện tập cấp độ phổ thông (3) - T4: Trái Đất Lang Thang

Trái Đất Lang Thang Mô tả bài toán Mặt trời già hóa nhanh chóng, để tồn tại, nhân loại đã khởi động kế hoạch di tản quy mô lớn mang tên "Trái Đất Lang Thang". Khi kế hoạch bắt đầu, nhân loại phải trả giá đắt. Sự khởi động của động cơ hành tinh khiến Trái Đất ngừng quay, gây ra sóng thần khổng lồ. Để cứu sống nhiều người nhất, chính ph ...

Đăng vào ngày 2 tháng 7 lúc 05:23

Tổng quan và ứng dụng của cấu trúc Disjoint Set Union (DSU)

Cấu trúc Disjoint Set Union (DSU), hay còn gọi là Union-Find, được dùng để quản lý các tập hợp rời rạc và hỗ trợ hai thao tác chính: kiểm tra xem hai phần tử có cùng tập hợp hay không (Find), và gộp hai tập hợp lại với nhau (Union). Thay vì lưu trữ toàn bộ cấu trúc cây, DSU chỉ cần mảng parent để lưu cha trực tiếp của mỗi nút. Để kiểm tra tính ...

Đăng vào ngày 17 tháng 6 lúc 01:16

Ghi Chép Mỗi Ngày

Ghi Chép Mỗi Ngày Kiến Thức Hàng Ngày 24.10.5 Bốn vườn nổi tiếng: Vườn Nghênh Xuân, Vườn Hồi Cung, Vườn Liú, Vườn Trụ Chính Bốn亭 nổi tiếng: Đình Tào Nhiên, Đình Ngộ Ôn, Đình Tái Hành, Đình Tâm Hồ Bốn tháp nổi tiếng: Tháp Lương Giang, Tháp Hồng Ngỗ, Tháp Tăng Vương, Tháp Cánh Quạ Bốn học viện nổi tiếng: Học viện Ứng Thiên, Học viện Tùng Dương, ...

Đăng vào ngày 16 tháng 6 lúc 20:16

Tìm Tổ Tiên Chung Gần Nhất bằng Thuật Toán Tarjan

Đề bàiCho một cây có gốc và đa nhánh, yêu cầu xác định tổ tiên chung gần nhất (LCA) của hai nút được chỉ định trong mỗi truy vấn.Dữ liệu nhậpDòng đầu tiên chứa ba số nguyên dương N, M, S lần lượt là số nút, số truy vấn và nút gốc.Tiếp theo N-1 dòng, mỗi dòng gồm hai số nguyên x, y biểu thị cạnh nối giữa hai nút.M dòng tiếp theo, mỗi dòng gồm ha ...

Đăng vào ngày 12 tháng 6 lúc 23:07

Giải thuật và lập trình động trong bài toán cây và chuỗi

Bài viết này sẽ tập trung vào việc giải quyết các bài toán liên quan đến cấu trúc cây và chuỗi thông qua các kỹ thuật lập trình động. Chúng ta sẽ phân tích một số vấn đề cụ thể, cải tiến mã nguồn để tăng tính dễ hiểu và hiệu quả. T1: Tìm giá trị cực đại và cực tiểu trong cây Trong bài toán này, chúng ta cần tìm các giá trị lớn nhất và nhỏ nh ...

Đăng vào ngày 6 tháng 6 lúc 04:31