Tìm chuỗi con không giảm có trọng số lớn nhất
Xét một chuỗi số nguyên S bao gồm các phần tử s1, s2, ..., sn. Mỗi phần tử được gán một trọng số theo các quy tắc sau:
(1) Nếu giá trị phần tử âm, trọng số của nó là 0.
(2) Nếu giá trị phần tử lớn hơn hoặc bằng 10000, trọng số của nó là 5. Đồng thời, giá trị thực của phần tử được tính là si - 10000. Ví dụ, nếu si = 10101, giá trị thực sẽ là 101 ...
Đăng vào ngày 21 tháng 9 lúc 11:45
Các Thuật Toán Giải Bài Toán Tổng Hợp Số: Tổng Bốn Số, Thư Tống Tiền, Tổng Ba Số
454. Tổng Bốn Số II
Bài toán yêu cầu tìm số lượng bộ bốn phần tử (a, b, c, d) sao cho a từ nums1, b từ nums2, c từ nums3, và d từ nums4, có tổng a + b + c + d = 0.
Một cách tiếp cận hiệu quả là chia bài toán thành hai phần. Đầu tiên, chúng ta tính tất cả các tổng có thể của các cặp phần tử từ nums1 và nums2, lưu trữ tần suất của chúng vào một b ...
Đăng vào ngày 17 tháng 9 lúc 12:40
Các Kỹ Thuật Tối Ưu Hóa Thuật Toán: GCD, Hàng Đợi Đơn Điệu Và Quy Hoạch Động
Bài toán 1: Tối đa hóa tổng GCD của hai tập hợp
Để giải quyết bài toán chia mảng thành hai tập hợp \(B\) và \(C\) sao cho tổng ước chung lớn nhất (GCD) của chúng là lớn nhất, chúng ta cần phân tích các đặc tính của GCD.
Phân tích và Chứng minh
Trường hợp tất cả phần tử giống nhau: Kết quả hiển nhiên là giá trị của phần tử đó nhân với 2.
...
Đăng vào ngày 12 tháng 9 lúc 15:54
Thử thách ngày 2022.11.09 - Giải thuật mô phỏng NOIP2022
Khoa học
Nguồn: CF461C Appleman and a Sheet of Paper, độ khó 2200.
Nhận thấy rằng với các giá trị p ≤ floor(now/2), việc duy trì trực tiếp là hợp lệ về mặt độ phức tạp.
Trong trường hợp p > floor(now/2), việc đảo ngược nửa bên phải cũng đúng.
Do đó, ta duy trì một nhãn đảo ngược, thực hiện thao tác trực tiếp và cập nhật tổng đoạn, thời gian ...
Đăng vào ngày 22 tháng 8 lúc 20:00
Trò chơi tấn công liên tục 2G
Mô tả bài toán:
lxhgww đang chơi một trò chơi và có rất nhiều trang bị. Mỗi trang bị có hai thuộc tính, các giá trị này được biểu diễn bằng các số nguyên trong khoảng [1, 10000]. Khi sử dụng một trang bị, lxhgww chỉ có thể chọn một trong hai thuộc tính để tấn công. Mỗi trang bị chỉ có thể được sử dụng một lần.
Trong trận đấu cuối cùng, lxhgw ...
Đăng vào ngày 18 tháng 8 lúc 08:43
Tổng hợp các thuật toán STL C++
1. Thuật toán không thay đổi chuỗi
Các thuật toán này không 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 có giá trị bằng value, trả về iterator đến phần tử đó (hoặc 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 ...
Đăng vào ngày 15 tháng 8 lúc 22:44
Kỹ thuật nhị phân tổng hợp trong giải thuật
Kỹ thuật nhị phân tổng hợp (overall binary search) là một phương pháp hiệu quả để giải quyết các bài toán yêu cầu tìm kiếm giá trị thứ k trong một phạm vi dữ liệu hoặc thực hiện nhiều truy vấn trên một tập hợp dữ liệu có khả năng thay đổi.
Hãy xem xét một bài toán đơn giản: tìm phần tử lớn thứ x trong một mảng. Cách tiếp cận trực quan là sắp x ...
Đăng vào ngày 12 tháng 8 lúc 09:37
Các Thuật Toán Thư Viện Chuẩn (STL) Trong C++: Hướng Dẫn Toàn Diện
Thư viện chuẩn C++ (STL) cung cấp một tập hợp phong phú các thuật toán mạnh mẽ, giúp thao tác với các container một cách hiệu quả. Các thuật toán này thường hoạt động trên các phạm vi được xác định bởi các cặp iterator và được phân loại dựa trên tác động của chúng lên dữ liệu. Bài viết này sẽ đi sâu vào các nhóm thuật toán chính, từ những thuật ...
Đăng vào ngày 29 tháng 7 lúc 11:54
Giải mã bài toán P5318: Hướng dẫn chi tiết về duyệt đồ thị bằng DFS đệ quy
Chào mừng các bạn đến với bài viết giải thích chi tiết cách áp dụng kỹ thuật Duyệt theo chiều sâu (DFS) sử dụng đệ quy để giải quyết bài toán P5318. Chúng ta sẽ cùng nhau khám phá từng bước một cách thật tự nhiên và dễ hiểu, như một cuộc trò chuyện giữa những người bạn.
Phân tích bài toán (Phiên bản siêu đơn giản)
Hãy tưởng tượng bạn đ ...
Đăng vào ngày 26 tháng 7 lúc 14:48
Thuật Toán Cửa Sổ Trượt - Kỹ Thuật Giải Quyết Hiệu Quả
Thuật Toán Cửa Sổ Trượt
1. Khái niệm
Cửa sổ trượt là một kỹ thuật dựa trên nguyên tắc con trỏ kép, trong đó hai con trỏ xác định một khoảng các phần tử tạo thành một "cửa sổ" trên cấu trúc dữ liệu.
2. Phân loại
Cửa sổ trượt có hai loại chính: cửa sổ có kích thước cố định và cửa sổ có kích thước thay đổi linh hoạt.
3. Ứng dụng thực tế
Kỹ thu ...
Đăng vào ngày 23 tháng 7 lúc 01:31