You are on page 1of 7

Phần I.

Xử lý mảng

PHẦN I. XỬ LÝ MẢNG

1. ALTERSEQ
Cho dãy số 𝐴 gồm n số nguyên 𝑎! , 𝑎" , 𝑎# , … , 𝑎$ (𝑛 ≤ 10% ), các phần tử có giá
trị không vượt quá 109.
Yêu cầu: Tìm dãy con liên tiếp các phần tử đan dấu dài nhất trong dãy 𝐴.
INPUT
• Dòng đầu là số 𝑛;
• Dòng tiếp theo là các giá trị của dãy 𝐴, mỗi số cách nhau một dấu cách.
OUTPUT
Ghi ra số lượng dãy con dài nhất và số lượng phần tử trong dãy con đã tìm được;

INPUT OUTPUT EXPLAIN

10 23 Dãy con đan dấu có độ dài dài nhất


1 -5 2 0 -6 2 -9 -5 3 7 là 3.Có 2 dãy con độ dài 3 là:
1 -5 2 và -6 2 -9

2. PRIMESEQ
Cho dãy số 𝐴 gồm n số nguyên 𝑎! , 𝑎" , 𝑎# , … , 𝑎$ (𝑛 ≤ 10& ), các phần tử có giá
trị không vượt quá 109.
Yêu cầu: Tìm dãy con liên tiếp các số nguyên tố dài nhất trong dãy 𝐴.
INPUT
• Dòng đầu là số 𝑛;
• Dòng tiếp theo là các giá trị của dãy 𝐴, mỗi số cách nhau một dấu cách.
OUTPUT
Ghi ra số lượng dãy con và số lượng phần tử trong dãy con đã tìm được;

INPUT OUTPUT

10 23
12 11 7 3 8 8 17 29 2

7
3. MAXISEQ
Cho dãy số nguyên dương 𝑎! , 𝑎" , . . . , 𝑎$ .
Dãy số 𝑎' , 𝑎'(! , . . . , 𝑎) thỏa mãn 𝑎' ≤ 𝑎'(! ≤ . . . ≤ 𝑎) , với 1 ≤ 𝑖 ≤ 𝑗 ≤ 𝑛
được gọi là dãy con không giảm của dãy số đã cho và khi đó số 𝑗 − 𝑖 + 1 được
gọi là độ dài của dãy con này.
Cho dãy số {𝑢* } xác định bởi:
• 𝑢! = 1
• 𝑢* = 𝑢* − 1 + 𝑘 (𝑘 ≥ 2)
Yêu cầu: Trong số các dãy con không giảm của dãy số đã cho mà các phần tử
của nó đều thuộc dãy số {𝑢* }. Hãy tìm dãy con có độ dài lớn nhất.
INPUT
• Dòng đầu tiên chứa một số nguyên dương 𝑛 (𝑛 ≤ 10% );
• Dòng thứ i trong n dòng tiếp theo chứa một số nguyên dương 𝑎' (𝑎' ≤ 10+ )
là số hạng thứ i của dãy số đã cho, 𝑖 = 1, 2, . . . , 𝑛.
OUTPUT
Ghi ra số nguyên 𝑑 là độ dài của dãy con không giảm tìm được (quy ước rằng
nếu không có dãy con nào thỏa mãn điều kiện đặt ra thì 𝑑 = 0).

INPUT OUTPUT EXPLAIN

8 3 Các dãy con không giảm của dãy số đã cho mà các


2 phần tử của nó đều thuộc dãy {𝑢* } 𝑙à: 6, 6, 15

2007 và 3, 21 (vì 𝑢" = 3, 𝑢# = 6, 𝑢% = 15, 𝑢, = 21).

6 Dãy cần tìm là 6, 6, 15 có độ dài là 3

6
15
16
3
21

8
Phần I. Xử lý mảng
4. PRIMESEQ2
Cho dãy số 𝐴 gồm n số nguyên 𝑎! , 𝑎" , 𝑎# , … , 𝑎$ (𝑛 ≤ 5 × 10% ), các phần tử có
giá trị không vượt quá 106.
Yêu cầu: Tìm dãy con liên tiếp các số nguyên tố dài nhất trong dãy A.
INPUT
• Dòng đầu là số 𝑛;
• Dòng tiếp theo là các giá trị của dãy 𝐴, mỗi số cách nhau một dấu cách.
OUTPUT
Ghi ra số lượng dãy con và số lượng phần tử trong dãy con đã tìm được;

INPUT OUTPUT

10 23
12 11 7 3 8 8 17 29 2

5. TRIPLE
Cho dãy số 𝐴 gồm n số nguyên 𝑎! , 𝑎" , 𝑎# , … , 𝑎$ và số nguyên 𝑋.
Yêu cầu: Hãy đếm xem trong dãy A có bao nhiêu cặp chỉ số ( 𝑖, 𝑗, 𝑘) sao cho:
• 1 ≤ 𝑖 < 𝑗 < 𝑘 ≤ 𝑁
• 𝑎' = 𝑏 × 𝑋 - ; 𝑎) = 𝑏 × 𝑋! ; 𝑎* = 𝑏 × 𝑋 " (với b là một số nguyên bất kỳ)
INPUT
• Dòng đầu là hai số 𝑛 và 𝑋 (1 < 𝑁, 𝑋 ≤ 2 × 10% ) ,
• Dòng thứ hai gồm 𝑛 số mô tả dãy 𝐴. Các giá trị trong dãy 𝐴 có giá trị tuyệt
đối không quá 10.
OUTPUT
Ghi ra số cặp thoả mãn.

INPUT OUTPUT EXPLAIN

52 4 Có 4 cách chọn các chỉ số (i,j,k): (1,3,5);


5 5 10 10 20 (1,4,5); (2,3,5); (2,4,5)

Ràng buộc:
• Có 40% số test có 𝑁 ≤ 200

9
6. QUAD
Cho dãy số 𝐴 gồm n số nguyên 𝑎! , 𝑎" , 𝑎# , … , 𝑎$ . Hãy đếm xem trong dãy 𝐴 có
bao nhiêu vị trí 𝑖 thoả mãn 𝑎' bằng tổng 3 phần tử ở vị trí nhỏ hơn 𝑖? Biết một
phần tử có thể được sử dụng nhiều lần trong tổng.
INPUT
• Dòng đầu là hai số 𝑁 (1 < 𝑁 ≤ 5000) ,
• Dòng thứ hai chứa 𝑁 số nguyên mô tả dãy 𝐴. Các giá trị trong dãy 𝐴 có giá trị
tuyệt đối không quá 10%
OUTPUT
Ghi ra số lượng vị trí thoả mãn.

INPUT OUTPUT EXPLAIN

6 4 Vị trí thoả mãn là: 3, 4, 5, 6


1 2 3 5 7 10

Ràng buộc:
• Có 30% số test có: 𝑁 ≤ 50.
• 40% số test khác có 𝑁 ≤ 500.

7. EQUASEQ
Cho dãy số nguyên 𝐴 gồm 𝑛 phần tử
Yêu cầu: Hãy chia dãy 𝐴 thành nhiều đoạn con liên tiếp nhất có tổng bằng nhau?
INPUT
• Dòng đầu là số 𝑛 (1 < 𝑛 ≤ 10& ),
• Các dòng tiếp theo là các phần tử của dãy số 𝐴 (|𝐴' | ≤ 10. )
OUTPUT
Số đoạn con được chia nhiều nhất

INPUT OUTPUT EXPLAIN

10 4 Chia dãy thành 4 đoạn con gồm:


0410551400 [0, 4, 1, 0], [5], [5], [1, 4, 0, 0]

10
Phần I. Xử lý mảng
8. TREELINE
Con đường dọc vườn nhà cô Thúy có 𝑁 cây đánh số từ 1 đến 𝑁 theo thứ tự từ
đầu đến cuối. Cây thứ 𝑖 có chiều cao ℎ' .
Cô Thúy muốn chặt bớt một vài cây trên đường để nếu đi từ đầu đến cuối đường
chiều cao của cây được xếp theo thứ tự tăng dần.
Cô Thúy có một con robot chặt cây. Mỗi buổi sáng khi đi tập thể dục cô sẽ đi từ
đầu hàng đến cuối, đánh dấu ‘ × ’ vào những cây có chiều cao nhỏ hơn hoặc bằng
chiều cao cây đứng liền trước nó. Sau đó, con robot sẽ chặt bỏ tất cả những cây
được đánh dấu trong ngày hôm đấy luôn.
Yêu cầu: Robot phải mất bao nhiêu ngày để hàng cây có chiều cao tăng dần.
INPUT
• Dòng 1 chứa số nguyên dương 𝑁 ≤ 10%
• Dòng 2 chứa 𝑁 số nguyên dương ℎ! , ℎ" , . . ℎ' (ℎ' ≤ 10. )
OUTPUT
Một số nguyên duy nhất là số ngày làm việc của robot

INPUT OUTPUT EXPLAIN

9 3 Ngày đầu tiên chặt cây số 2, 3,4,6 thì hàng cây


432186789 còn lại là 4, 8,7,8,9
Ngày thứ 2 chặt cây số 3 thì hàng cây còn lại
là 4, 8, 8, 9
Ngày thứ 3 chặt cây số 3 thì hàng cây còn lại
là 4, 8,9

9. ARISEQ
Cho dãy 𝐴 gồm 𝑛 phần tử số nguyên. Ta gọi dãy con của dãy đã cho là dãy thu
được bởi việc xoá khỏi dãy đã cho một số hạng của nó và giữ nguyên thứ tự của
các số hạng còn lại. Bản thân dãy đã cho cũng coi là dãy con của chính nó.
Yêu cầu: Trong số các dãy con của dãy đã cho lập thành một cấp số cộng với
công sai 𝑑, hãy tìm một dãy con gồm nhiều phần tử nhất, hoặc thông báo là dãy
đã cho không chứa dãy con như vậy.
INPUT
• Dòng đầu là số 𝑛 (1 < 𝑛 ≤ 1000),
• Các dòng tiếp theo là các phần tử của dãy số 𝐴, |𝐴' | ≤ 10.

11
OUTPUT
Ghi ra hai số 𝑚 và 𝑑 trong đó 𝑚 là số lượng phần tử, 𝑑 là công sai của dãy con
đã tìm được. Nếu không có dãy con ghi ra số 0.

INPUT OUTPUT EXPLAIN

10 56 Dãy con cấp số cộng tìm được là:


3 9 8 90 15 19 23 21 11 27 3 9 15 21 27

10.DIVSEQ
Bill xây dựng một dãy số vô hạn 𝐴 từ dãy các số nguyên dương bằng cách lần
lượt xét các số tự nhiên bắt đầu từ 1 và lần lượt chọn các số cho dãy 𝐴 theo quy
tắc: Chọn một số chia hết cho 1 (hiển nhiên là số 1), sau đó là hai số chia hết cho
2, tiếp theo là 3 số chia hết cho 3, 4 số chia hết cho 4, 5 số chia hết cho 5….
Như vậy các số đầu tiên của dãy 𝐴 là: 1, 2, 4, 6, 9, 12, 16, 20, 24, 28, 30, 35, 40,
45, 50, 54, …..
Yêu cầu: Cho số tự nhiên 𝑁. Hãy xác định số thứ 𝑁 của dãy số như trên?
INPUT
Chứa duy nhất số 𝑁 (1 ≤ 𝑁 ≤ 5 × 10, ×).
OUTPUT
Ghi ra số thứ 𝑁 tìm được.

INPUT OUTPUT

10 28

11.MOVETREE
Thành phố ZXY có một vườn bách thảo được mô tả dưới dạng bản đồ hình chữ
nhật gồm 𝑚 dòng và 𝑛 cột. Trong vườn có 𝑘 loại cây khác nhau, đánh số từ 1 đến
𝑘 (𝑘 ≤ 100). Mỗi ô của bản đồ chứa duy nhất số nguyên dương 𝑖 (𝑖 ≤ 𝑘) nếu
tại ô này có trồng một cây loại 𝑖, hoặc số 0 nếu ô này không có cây.
Chính quyền thành phố muốn chỉnh trang khu vườn cho đẹp hơn bằng cách giữ
lại những hàng cây có ít nhất 𝑡 cây liền nhau, thuộc cùng một loại cây, nằm trên
cùng một dòng hoặc cùng một cột. Những cây không thuộc hàng cây nào đó sẽ
được di chuyển đến vị trí khác phù hợp hơn.

12
Phần I. Xử lý mảng
Yêu cầu: Cho trước bản đồ vườn cây như trên, hãy đếm số lượng cây cần phải
di chuyển.
INPUT
• Dòng đầu chứa ba số nguyên dương 𝑚, 𝑛 và 𝑡 (1 < 𝑚, 𝑛, 𝑡 ≤ 100);
• Trong 𝑚 dòng tiếp theo, mỗi dòng chứa 𝑛 số tự nhiên mô tả bản đồ vườn bách
thảo.
OUTPUT
Ghi ra số lượng cây cần phải di chuyển.

INPUT OUTPUT EXPLAIN

563 10 Những số gạch chân dưới đây biểu thị những cây
133334 cần phải di chuyển:

123204 133334

322244 123204

100240 322244

123044 100240
123044

13

You might also like