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 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
Thuật toán Quy hoạch động: Bài toán Chặn tên lửa
Bài toán mô tả một hệ thống phòng thủ tên lửa có đặc tính: viên đạn đầu tiên có thể bắn tới mọi độ cao, nhưng mỗi viên tiếp theo không được bắn cao hơn viên trước đó. Với một chuỗi tên lửa địch bay tới ở các độ cao khác nhau, ta cần giải quyết hai yêu cầu:
Tìm số lượng tên lửa tối đa mà một hệ thống có thể chặn được.
Tìm số lượng hệ thống tối ...
Đăng vào ngày 25 tháng 8 lúc 04:48
Phân tích giải thuật trong kỳ thi NHSPC 2023
B. Mô phỏng trí tuệ nhân tạo
Giải pháp đơn giản sử dụng phương pháp duyệt toàn bộ.
G. Bảo tàng
Chọn k hiện vật có giá trị lớn nhất, ưu tiên vị trí bên trái khi giá trị bằng nhau. Di chuyển tối ưu theo thứ tự từ trái sang phải.
H. Phân tách số nguyên bằng dãy palindrome
Đặt $D_n$ là số cách phân tách. Dãy palindrome có tính chất đệ quy: loại b ...
Đăng vào ngày 1 tháng 8 lúc 22:28
Phân Tích Giải Thuật Các Bài Toán Từ Kỳ Thi Newcoder Multi-School 6
Dưới đây là phân tích và giải pháp cho một số bài toán tiêu biểu từ kỳ thi Newcoder Multi-School 6 (2024), tập trung vào các kỹ thuật thuật toán chính.
Bài toán A: Cake
Ý tưởng giải
Đây là một bài toán kết hợp lý thuyết trò chơi đơn giản và quy hoạch động trên cây. Mục tiêu của hai người chơi được định nghĩa rõ ràng: Oscar sẽ cắt bánh để đạt đ ...
Đăng vào ngày 21 tháng 7 lúc 16:05
Bài toán Dãy Con Không Giảm Dài Nhất – Bài 24 về Luồng Mạng
Phát biểu bài toán
Cho dãy số nguyên dương \( x_1, x_2, \ldots, x_n \).
Tính độ dài \( s \) của dãy con không giảm dài nhất.
Tính số lượng tối đa các dãy con không giảm độ dài \( s \) có thể trích xuất từ dãy ban đầu, sao cho mỗi phần tử chỉ được dùng một lần.
Nếu cho phép sử dụng lại phần tử đầu tiên \( x_1 \) và phần tử cuối cùng \( x_ ...
Đăng vào ngày 6 tháng 7 lúc 13:49
Giải thích bài toán D và F trong cuộc thi AtCoder Beginner Contest 324
Bài toán D - Hoán vị số chính phương
Đề bài yêu cầu tìm số lượng các số chính phương có đúng n chữ số, sao cho tần suất xuất hiện của các chữ số trong số đó khớp với tần suất trong chuỗi đã cho.
Giải pháp hiệu quả là duyệt qua tất cả các số chính phương có thể có. Vì n tối đa là 13, nên ta chỉ cần duyệt các cơ số từ 0 đến sqrt(10^13), tức là kh ...
Đăng vào ngày 29 tháng 6 lúc 00:09
Hướng dẫn chi tiết và thực hành CSES Problem Set
CSES Problem Set là một bộ tài nguyên luyện tập lập trình trực tuyến, được thiết kế để nâng cao kỹ năng giải thuật và giải quyết vấn đề cho lập trình viên C++. Bộ bài tập này bao gồm nhiều dạng đề từ cơ bản đến nâng cao, trải rộng trên các lĩnh vực như giải thuật cơ bản, quy hoạch động, lý thuyết đồ thị và cây, thuật toán tham lam ...
Đăng vào ngày 25 tháng 6 lúc 02:39
Quy Tắc Bất Đẳng Thức Tứ Giác Trong Tối Ưu Hóa Động
Quy Tắc Bất Đẳng Thức Tứ Giác
Tổng Quan Cơ Bản
Bất đẳng thức tứ giác là một kỹ thuật tối ưu hóa dựa trên tính đơn điệu, thường được kết hợp với phương pháp quy hoạch động để giải quyết các bài toán hiệu quả hơn.
Ví Dụ: Kết Hợp Đá
Xem xét một bài toán cổ điển:
Có N đống đá được xếp xung quanh một sân hình tròn. Nhiệm vụ là kết hợp các đống đá nà ...
Đăng vào ngày 20 tháng 6 lúc 00:11
Tối ưu hóa DP trên Cây Descartes bằng Cây Phân đoạn
Xử lý truy vấn trên dãy bằng cách phân tách tại phần tử lớn nhất. Chi phí tối ưu được tính bằng công thức:
\[f(l,r)=\min\left(\sum_{i=l}^{t}h_t + f(t+1,r), \sum_{i=t}^{r}h_t + f(l,t-1)\right)\]
với \(t\) là vị trí phần tử lớn nhất trong đoạn \([l,r]\). Tận dụng cấu trúc cây Descartes:
Xây dựng cây Descartes từ dãy chiều cao
Quản lý hàm DP ...
Đăng vào ngày 19 tháng 6 lúc 16:13