Giải quyết Bài Toán "Super Telephone" Với Trie Nén và Quy Hoạch Động
Bài toán yêu cầu xử lý giá trị trong phạm vi [0, 2^n) khi thực hiện các thao tác với người giàu. Trước hết xem xét trường hợp B = 20, nơi dữ liệu được xử lý dưới dạng nhị phân.
Cấu trúc 01-trie trong khoảng [0, 2^n) là giải pháp hiệu quả. Khi giá trị dị biến toàn cục là 0, phạm vi [0, y] có thể phân tách thành tối đa n cây nhị phân con đầy đủ. ...
Đăng vào ngày 29 tháng 9 lúc 08:36
Giải các bài toán từ cuộc thi ICPC 2021 khu vực Thẩm Dương
B. Dãy số XOR từng bit
Đề bài yêu cầu tìm một dãy số nguyên sao cho mỗi cặp chỉ số (u, v) thỏa mãn điều kiện a[u] ⊕ a[v] = w. Ta có thể mô hình hóa bài toán dưới dạng đồ thị: mỗi số là một đỉnh, mỗi ràng buộc là một cạnh với trọng số tương ứng.
Khi xây dựng đồ thị, cần kiểm tra hai trường hợp đặc biệt: tồn tại cạnh trùng lặp hoặc chu trình. Vớ ...
Đăng vào ngày 15 tháng 9 lúc 06:28
Cơ sở tuyến tính (Linear Basis) trong bài toán XOR tập con
Khái niệm cơ sở tuyến tính
Cơ sở tuyến tính là một tập hợp các số được xây dựng từ một dãy cho trước, sao cho bất kỳ phần tử nào trong dãy gốc đều có thể được biểu diễn dưới dạng XOR của một số phần tử thuộc cơ sở. Kỹ thuật này thường được sử dụng để giải quyết các bài toán liên quan đến XOR của tập con.
Các tính chất quan trọng
Mọi phần tử t ...
Đăng vào ngày 16 tháng 8 lúc 10:24
Tìm hai số xuất hiện duy nhất trong mảng
Mô tả bài toán:
Cho một mảng số nguyên nums có đúng hai phần tử chỉ xuất hiện một lần, tất cả các phần tử còn lại đều xuất hiện đúng hai lần. Hãy tìm hai phần tử đó. Bạn có thể trả về kết quả theo bất kỳ thứ tự nào.
Bạn phải thiết kế một thuật toán với độ phức tạp thời gian tuyến tính và chỉ sử dụng bộ nhớ phụ hằng số.
Ví dụ 1:
<strong> ...
Đăng vào ngày 23 tháng 6 lúc 07:02
Phân tích và giải mã các bài toán reverse engineering trong BUUCTF
Giới thiệu về quá trình phân tích
Bài viết này sẽ hướng dẫn cách phân tích và giải mã các bài toán reverse engineering từ cuộc thi BUUCTF. Mỗi bài toán đều yêu cầu sử dụng các công cụ như IDA Pro, DIE, và kỹ năng đọc mã giả (pseudo-code) để tìm ra flag.
Bài 1: Easy Reverse
Đầu tiên, ta kiểm tra tệp tin bằng công cụ DIE, phát hiện rằng đây l ...
Đăng vào ngày 18 tháng 6 lúc 19:49
Phân tích bài toán xử lý dãy ngoặc và dãy con XOR
Khi gặp bài toán liên quan đến dãy ngoặc, thay vì cố gắng tính toàn bộ đóng góp ở bước cuối, hãy chia nhỏ từng phần để xử lý. Đây là điểm mấu chốt dễ bị bỏ qua nhưng lại giúp tối ưu hóa thuật toán.
Xử lý dãy ngoặc hiệu quả
Bắt đầu bằng việc xây dựng dãy ngoặc theo cách thông thường: với mỗi dấu ngoặc đóng tại vị trí i, tìm vị trí j tương ứng c ...
Đăng vào ngày 14 tháng 6 lúc 17:49
Phân tích đề thi CSP-J 2025: Giải thuật và cài đặt tối ưu
Đây là lần đầu tiên kỳ thi CSP-J và CSP-S được tổ chức song song, cho phép học sinh tham gia cả hai vòng trong cùng một năm.
Bài 1: Trích xuất và sắp xếp chữ số
Nhiệm vụ yêu cầu đọc một chuỗi ký tự, trích xuất tất cả ký tự số (‘0’–‘9’), sau đó in ra theo thứ tự giảm dần. Không cần xử lý số có nhiều chữ số — chỉ xét từng ký tự riêng lẻ.
Giải ...
Đăng vào ngày 30 tháng 5 lúc 02:37