Hướng dẫn giải của Thi thử HSG9 2025 - Ngày 1 - Xếp khối gỗ


Chỉ dùng lời giải này khi không có ý tưởng, và đừng copy-paste code từ lời giải này. Hãy tôn trọng người ra đề và người viết lời giải.
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.

Tác giả: Nguyễn Hữu Nhật Quang Solution: Mai Ngọc Phú

Nhận xét: thứ tự xếp các khối gỗ không quan trọng ~\rightarrow~ ta chỉ quan tâm có ~x \le n~ khối gỗ độ cao ~a~ và ~y \le m~ khối gỗ độ cao ~b~.

Đặt ~a' = \frac{a}{gcd (a, b)}, b'= \frac{b}{gcd (a, b)}~. Dễ thấy ~a \times b' = b \times a'~. Do đó chúng ta có thể thay ~a'~ khối gỗ độ cao ~b~ thành ~b'~ khối gỗ độ cao ~a~.

Chiều cao một cột gỗ có thể tính theo công thức: $$h = ax \times by$$ Với ~0 \le x \le n~ và ~0 \le y \le m~ dễ thấy được số lượng ~h~ sinh ra là ~(m+1)\times(n+1)~

Tuy nhiên ta cần tìm số giá trị ~h~ khác nhau nên phải trừ đi số lượng ~h~ trùng nhau

Ta có: $$h = ax \times by$$$$\leftrightarrow h=ax\times by-k\times a\times b' +k \times a'\times b$$$$\leftrightarrow h=a(x-kb')+b(y+ka')$$

  • ~k\in N~ , ~0\le x-kb'~ , ~y+ka'\le m~

Như vậy với ~1~ giá trị ~h~ có nghiệm ~(x,y)~ với ~n-b'+1 \le x \le n~ hoặc ~0 \le y \le a'-1~ sẽ luôn có ít nhất một nghiệm ~(x,y)~ với ~0 \le x \le n-b'~ và ~a'+1 \le y \le m~ ~(~ nếu ~0 \le n-b'~ và ~a'+1\le m~~)~

Suy ra số lượng ~h~ trùng nhau là: ~max((n-b'+1),0)\times max((m-a'+1),0)~

Kết quả cần tìm là: ~(m+1)\times(n+1)-max((n-b'+1),0)\times max((m-a'+1),0) -1~ ~(~trừ thêm ~1~ vì ~x~, ~y~ không đồng thời bằng ~0)~


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.