Review in round 1 Câu D


posted on June 26, 2023, 1:47 p.m.

Tóm tắt đề bài

Tìm bộ ba x, y, z \geq 0, x + y + z \le S sao cho tích x^a \times y^b \times z^c lớn nhất. Giới hạn: 1 \le S \le 1000, 0 \le a, b, c \le 1000.

Chúng ta cần tìm cực trị của hàm f(x, y, z) = x^a \times y^b \times z^c theo giới hạn x + y + z = S (kết quả đạt tối đa khi tổng bằng S) bằng cách sử dụng phương pháp nhân tử Lagrange.

Đặt L(x, y, z, \lambda) = x^a \times y^b \times z^c + \lambda (x + y + z - S) là hàm Lagrange.

Tiếp theo, lấy đạo hàm riêng của L theo x, y, z\lambda. Đặt các đạo hàm riêng này bằng 0 sẽ cho chúng ta các giá trị của x, y, z\lambda tối ưu hóa f(x, y, z) theo ràng buộc g(x, y, z).

\displaystyle 
\begin{cases}
    \frac{\partial L}{\partial x} = ax^{a-1} \times y^b \times z^c -\lambda = 0 & (1) \\ 
    \frac{\partial L}{\partial y} = ax^a \times y^{b-1} \times z^c -\lambda = 0 & (2) \\ 
    \frac{\partial L}{\partial z} = ax^a \times y^b \times z^{c-1} -\lambda = 0 & (3) \\ 
    \frac{\partial L}{\partial \lambda} = x + y + z - S = 0 & (4) 
\end{cases}

Từ ba phương trình (1) (2) (3), ta có ba vế bằng nhau (cùng bằng \lambda):

\lambda = ax^{a-1} \times y^b \times z^c = x^a \times by^{b-1} \times z^c = x^a \times y^b \times cz^{c-1}

Chia tất cả các vế cho x^a \times y^b \times z^c, ta được mối liên hệ \frac{a}{x} = \frac{b}{y} = \frac{c}{z}

Dựa vào mối liên hệ và phương trình (4) ở trên ta có thể thấy tích các lũy thừa đạt giá trị tối đa khi (x, y, z) tỉ lệ với (a, b, c).

Thu được công thức tính cho từng giá trị x, y, z là:

x = S * a / (a + b + c), y = S * b / (a + b + c), z = S * c / (a + b + c);

Xét riêng trường hợp đặc biệt a + b + c = 0 thì kết quả công thức trên trả về giá trị vô định nan do có mẫu số bằng 0. Cần phải xử lý riêng bằng việc đặt x = y = z = 0, cho kết quả x^a \times y^b \times z^c = 0^0 \times 0^0 \times 0^0 = 1 \times 1 \times 1 = 1 với mọi S \geq 1 (0^0 được quy ước có giá trị 1 trong đại số)

Độ phức tạp thuật toán: \mathcal{O}(1).

Các bạn có thể tham khảo cài đặt của mình ở mục hướng dẫn giải của bài toán


Comments


  • 2
    Yunan  commented on June 26, 2023, 7:41 a.m.

    Quá hay luôn ạ <3.

    Review bài B luôn anh Justin ơi <3 <3 <3