Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

TÌM SỐ

Cho số nguyên dương 𝑑, tìm số nguyên dương 𝑛 nhỏ nhất thỏa mãn hai điều kiện:
𝑛 có ít nhất 4 ước số (tính cả 1 và chính 𝑛)
Hai ước số bất kỳ của 𝑛 hơn kém nhau ít nhất 𝑑 đơn vị
Dữ liệu: Vào từ file văn bản FOURDIV.INP
Dòng 1 chứa số nguyên dương 𝑇 ≤ 105 là số test
𝑇 dòng tiếp theo, mỗi dòng chứa một số nguyên dương 𝑑 ≤ 106 ứng với một test
Kết quả: Ghi ra file văn bản FOURDIV.OUT
Ứng với mỗi test, ghi ra trên một dòng giá trị số 𝑛 tìm được
Ví dụ

Trang 1
DỰNG CÂY
Cây nhị phân 𝑇 được gọi là tương ứng với dãy số nguyên 𝐴 = (𝑎1 , 𝑎2 , … , 𝑎𝑛 ) gồm các phần tử hoàn toàn phân biệt
nếu cây 𝑇 gồm 𝑛 nút đánh số từ 1 tới 𝑛 và được xây dựng theo cách sau:
Nếu dãy rỗng, tương ứng với nó là cây rỗng
Nếu dãy có ít nhất một phần tử, nút 𝑖 có 𝑎[𝑖] lớn nhất là gốc cây, và
Cây con trái là cây tương ứng với dãy 𝑎[1 … 𝑖 − 1]
Cây con phải là cây tương ứng với dãy 𝑎[𝑖 + 1 … 𝑛]
3 7 4 8 1 9 5 2 6

8 6

7 1 5

3 4 2

Độ sâu của một nút trên cây là độ dài đường đi từ gốc xuống nút đó (tính bằng số phép di chuyển từ nút cha xuống
nút con), độ sâu của nút gốc là 0.
Yêu cầu: Cho dãy số nguyên 𝐴 = (𝑎1 , 𝑎2 , … , 𝑎𝑛 ), gọi 𝑇 là cây nhị phân tương ứng với dãy 𝐴, với mỗi nút trên cây
hãy cho biết độ sâu của nút đó.
Dữ liệu: Vào từ file văn bản RMQTREE.INP
Dòng 1 chứa số nguyên dương 𝑛 ≤ 105
Dòng 2 chứa 𝑛 số nguyên dương 𝑎1 , 𝑎2 , … , 𝑎𝑛 khác nhau đôi một (∀𝑖: 1 ≤ 𝑎𝑖 ≤ 𝑛)
Kết quả: Ghi ra file văn bản RMQTREE.OUT
Ghi ra 𝑛 số nguyên trên một dòng, số thứ 𝑖 là độ sâu của nút thứ 𝑖 trên cây
Các số trên một dòng của input/output được ghi cách nhau bởi dấu cách
Ví dụ

Trang 2
NHÂN BA
Với một số nguyên dương 𝑥, xét phép biến đổi 𝑥 thành 𝑓(𝑥) mô tả như sau:
Xét các chữ số trong biểu diễn thập phân của 𝑥 từ trái qua phải (từ hàng cao nhất xuống hàng đơn vị). Với mỗi
chữ số 𝑑 xét đến thì viết ra giá trị 𝑑 × 3 trong hệ thập phân. Sau khi duyệt hết biểu diễn thập phân của 𝑥, dãy chữ
số được viết ra tạo thành biểu diễn thập phân của giá trị 𝑓(𝑥).
Yêu cầu: Cho số nguyên không âm 𝑘, xét dãy 𝑎0 , 𝑎1 , 𝑎2 , … , 𝑎𝑛 xây dựng theo quy tắc:
𝑎 =𝑘
{ 0
𝑎𝑖 = 𝑓(𝑎𝑖−1 ), ∀𝑖: 1 ≤ 𝑖 ≤ 𝑛
Hãy cho biết giá trị 𝑎𝑛 , vì kết quả có thể rất lớn nên chỉ cần đưa ra số dư của phép chia 𝑎𝑛 cho 123456789.
Dữ liệu: Vào từ file văn bản TRIPLE.INP
Dòng 1 chứa số nguyên dương 𝑇 ≤ 105 là số test
𝑇 dòng tiếp theo, mỗi dòng chứa hai số nguyên dương 𝑘, 𝑛 cách nhau bởi dấu cách ứng với một test (𝑘 ≤
109 ; 𝑛 ≤ 105 )
Kết quả: Ghi ra file văn bản TRIPLE.OUT
Ứng với mỗi test, ghi ra một số nguyên duy nhất trên một dòng là số dư của phép chia 𝑎𝑛 cho 123456789
Ví dụ

Test 1 Test 2
1 0 2 4 6 8

3 0 6 1 2 1 8 2 4

9 0 1 8 3 6 3 2 4 6 1 2

9 6 1 2 1 8 3 6

Bộ test chia làm 3 subtasks:


Subtask 1 (20% số điểm): 𝑇 = 1 và 𝑛 ≤ 20
Subtask 2 (30% số điểm): 𝑛 ≤ 20
Subtask 3 (50% số điểm): Không có ràng buộc bổ sung ngoài các ràng buộc nêu trong đề bài.

Trang 3

You might also like