• LNQOJ
  • Trang chủ
  • Danh sách bài
  • Các bài nộp
  • Thành viên
    >
    • Tổ chức
  • Các kỳ thi
  • Thông tin
    >
    • Máy chấm
    • Custom Checkers
    • Github
VI EN Đăng nhập  hoặc  Đăng ký

  • Blog
  • Sự kiện
  • Tin tức
  • Blog

0

Bài 4 đề thi KĐCL HSG xã Đô Lương 2025-2026

ngochunglnq đã đăng vào 22, Tháng 5, 2026, 6:18

Bài 4: Xây tháp (XT.*) - Đề KĐCL HSG xã Đô Lương 2025-2026(chỉnh sửa ND) Bạn Phùng được cử lên chơi 1 trò chơi của hoạt động "Ngày hội STEM" ở Trường THCS Lý Nhật Quang. Trò chơi như sau:

  • Cho các viên gạch được đánh số. Mỗi số trên viên gách tượng trưng cho "Độ bền" của chúng.
  • Một viên gạch chỉ có thể xếp số lượng gạch nhỏ hơn hoặc bằng "Độ bền" của nó.
  • Các thí sinh được cho các viên gạch như nhau. Mục tiêu là xếp một tháp cao nhất bằng số gạch đã cho.
  • BTC sẽ công nhận người xếp được số tầng nhiều nhất. Mỗi tầng chỉ có 1 viên gạch duy nhất Bạn Phùng muốn thắng trò chơi này. Hãy giúp bạn Phùng tìm được cách xếp có số tầng cao nhất. In/Out:
  • Input: Nhập từ File XT.INP
  • Một số nguyên n là số gạch được cho.(1<=n<=2*10^5)
  • Dãy phần tử a1,a2,a3,....,an là độ bền của mỗi viên gạch.(0<=ai<n>
  • Output: In ra File XT.OUT một số nguyên dương là số tầng cao nhất Phùng có thể xếp được. Ví dụ: XT.INP: 5 4 3 2 1 0 XT.OUT: 5
  • </n>

Hướng dẫn giải:

  1. Ý tưởng cốt lõi Khi duyệt qua mảng đã sắp xếp giảm dần, ta giả định tháp có thể xây được tối đa đến hết mảng. Tuy nhiên, mỗi viên gạch a[i] tại vị trí i sẽ tự đặt ra một cái "trần nhà" (giới hạn chiều cao) cho toàn bộ cái tháp dựa vào sức gánh của nó.
  2. Các bước thực hiện Bước 1: Sắp xếp:Sắp xếp mảng độ bền a theo thứ tự giảm dần (viên khỏe nhất nằm đầu). Bước 2: Khởi tạo: Khai báo biến range = INT_MAX (hoặc dùng hằng số INF = 1e9 + 7) để làm cái trần nhà vô hạn ban đầu. Bước 3: Duyệt và lấy Min tuyến tính: Chạy vòng lặp for từ i = 0 đến n - 1. Cập nhật range = min(range, a[i] + i + 1).

Kết quả cuối cùng của bài toán chính là min(range, n) (để phòng trường hợp tất cả các viên gạch đều quá khỏe và gánh được nhiều hơn cả tổng số lượng gạch n đang có).

ngochunglnq
o22, Tháng 5, 2026, 6:18 0

14

Chào mừng bạn đến với doluong.coder

admin đã đăng vào 2, Tháng 12, 2017, 5:00

Chào mừng bạn đến với doluong.coder.

admin
o2, Tháng 12, 2017, 5:00 82

Top thành viên

# Tên truy cập Điểm
1
nguyenhaianhproh
882,57
2
truongdz
877,78
3
minhche02
839,96
4
l2c_1234
833,42
5
thaituandl45678
831,13
Tổ chức Xem đầy đủ >>>

Top đóng góp

# Tên truy cập Đóng góp
1
admin
391
2
tatdung09
4
3
demo25_027
1
Xem đầy đủ >>>

Dòng bình luận

  • canhdatlop6dlnq → Cân bằng
  • canhdatlop6dlnq → Tam giác
  • huylevan2012 → Thương, dư, thập phân
  • Lamdz → Tìm số
  • khangxuanson → Hiệu số max
  • thtdl25_008 → Tính tổng các số tự nhiên_Mức độ A
  • canhdatlop6dlnq → Gà và chó
  • duyhung2 → Tìm bóng
  • thienan → Tìm bội
  • sunviet → Tìm bội
RSS / Atom

Bài mới

  • Cân bằng
  • Tổng cặp liền kề lớn nhất
  • Cặp số
  • Marathon
  • Tam giác
  • Câu 3 HSG Lớp 8 Tân Kì
  • Lệch nhỏ nhất (Câu 2 HSG THPT Hưng Yên)
RSS / Atom

dựa trên nền tảng DMOJ | Trường THCS Đô Lương - Nghệ An |