You are on page 1of 9

Trường … 14

Bài 1: Dãy con đơn điệu dài nhất Tên file chương trình ‘SEQ123.???’
Cho một dãy số gồm n phần tử a1, a2…, an.
Yêu cầu: hãy tìm một dãy con tăng có nhiều phần tử nhất.
Dữ liệu vào từ file ‘SEQ123.INP’ gồm
 Dòng đầu là n (n≤10000)
 Dòng thứ hai là các phần tử của dãy (-32000≤ai≤32000)
Kết quả ghi vào file ‘SEQ123.OUT’số lượng phần tử dãy con tăng nhiều nhất.
Ví dụ:
SEQ123.INP SEQ123.OUT
12 5
6 12 8 11 3 4 1 7 5 9 10 2

GV: Nguyễn Thái Huy - huylqdvt@gmail.com Trang 1


Trường … 14

Bài 2: Đoạn số nguyên Tên file chương trình ‘SEGMINT.???’


Trên trục x’Ox cho n đoạn thẳng [a1, b1], [a2, b2],… [an, bn].
Yêu cầu: Với n đoạn thẳng đã cho, hãy cho biết có thể chọn ra nhiều nhất bao nhiêu đoạn thẳng
trong n đoạn đã cho thỏa mãn điều kiện không đoạn nào cắt đoạn nào (hai đoạn bất kì được chọn
không có điểm chung)
Dữ liệu vào từ file ‘SEGMINT.INP’:
 Dòng thứ nhất chứa số nguyên dương n (n≤103).
 Trong n dòng tiếp theo, dòng thứ i chứa cặp số nguyên ai và bi cách nhau một khoảng trắng
(|ai|,|bi|≤109; ai<bi; i=1,2,…n).
Kết quả ghi vào file ‘SEGMINT.OUT’ một số nguyên duy nhất là số lượng đoạn thẳng nhiều nhất
chọn được.
Ví dụ:
SEGMINT.INP SEGMINT.OUT
5 3
25
34
67
12
45

GV: Nguyễn Thái Huy - huylqdvt@gmail.com Trang 2


Trường … 14

Bài 3: Cho thuê máy Tên file chương trình ‘HIREPC.???’


Tại trung tâm tính toán có một máy tính hiệu năng cao nhận được n đơn đặt hàng của n khách hàng
(được đánh số từ 1 đến n) sử dụng máy trong khoảng thời gian từ ai đến bi và trả tiền thuê là ci.
Yêu cầu: Hãy bố trí lịch thuê máy để tổng số tiền thu được là lớn nhất mà thời gian sử dụng máy
của 2 khách hàng bất kỳ được phục vụ đều không giao nhau.
Dữ liệu vào từ file ‘HIREPC.INP’:
 Dòng đầu là số nguyên dương n.
 n dòng tiếp theo, dòng thứ i ghi 3 số nguyên ai, bi và ci (cách nhau 1 khoảng trắng).
Kết quả ghi vào file ‘HIREPC.OUT’ tổng số tiền lớn nhất.
Ví dụ:
HIREPC.INP HIREPC.OUT
5 10
342
233
256
684
593

GV: Nguyễn Thái Huy - huylqdvt@gmail.com Trang 3


Trường … 14

Bài 4: Nối điểm Tên file chương trình ‘CONPOINT.???’


Trên hai đường thẳng song song L1 và L2, người ta thực hiện việc ghi các con số như sau: trên
đường thẳng L1 lần lượt có các con số a1, a2,… an theo trình tự từ trái qua phải; Trên đường thẳng L2
lần lượt có các con số b1, b2,… bm cũng theo trình tự từ trái qua phải; Hai số đứng kế nhau trên mỗi
đường thẳng luôn luôn được ghi rời nhau. Sau đó, Người ta lại thực hiện vẽ k đoạn thẳng d 1, d2,…
dk thỏa mãn những điều kiện sau:
 Một đoạn thẳng được tạo ra bằng cách nối một con số của đường thẳng L1 với một con số của
đường thẳng L2.
 Gọi ai1 và bi2 là hai con số được nối để tạo ra đoạn thẳng di; aj1 và bj2 là hai con số được nối để
tạo ra đoạn thẳng dj. Nếu i<j thì ai1<aj1 và bi2<bj2.
 Hai đoạn thẳng trong k đoạn đó không có hai đoạn nào cắt nhau.
 Mỗi một con số chỉ là đầu mút của nhiều nhất một đoạn thẳng.
Yêu cầu: Hãy tìm giá trị lớn nhất của k.
Dữ liệu vào từ file ‘CONPOINT.INP’:
 Dòng thứ nhất chứa lần lượt các số nguyên dương n, m (n, m≤103).
 Trong n dòng tiếp theo, dòng thứ i chứa số nguyên ai (|ai|≤109; i=1,2,…n).
 Trong m dòng cuối, dòng thứ j chứa số nguyên bj (|bj|≤109; j=1,2,…m)
Kết quả ghi vào file ‘CONPOINT.OUT’ một số nguyên duy nhất là giá trị lớn nhất của k.
Ví dụ:
CONPOINT.INP CONPOINT.OUT
43 2
3
1
6
2
4
5
9

GV: Nguyễn Thái Huy - huylqdvt@gmail.com Trang 4


Trường … 14

Bài 5: Hàng cây Tên chương trình: TREE.???


Ở một ngôi làng nọ, trên một con đường (được xem như một đường thẳng), có n cây gỗ quý được
đánh số theo thứ tự lần lượt từ 1 đến n và có giá trị lần lượt là a1, a2,… an. Sau khi tính toán, trưởng
làng đã quyết định khai thác các cây gỗ đó. Tuy nhiên, sau khi khai thác trưởng làng muốn giữ lại
một số cây để làm bóng mát cho con đường thỏa mãn các điều kiện sau:
 Cây đầu tiên (thứ 1) phải được giữ lại.
 Các cây có số thứ tự lớn hơn phải có giá trị lớn hơn hoặc bằng.
 Số lượng cây giữ lại là nhiều nhất có thể.
Ví dụ: 7 cây có giá trị tương ứng là 3 7 2 8 6 9 5 thì ta giữ lại các cây có giá trị là 3 7 8 9
Yêu cầu: Hãy giúp trưởng làng thực hiện điều đó.
Dữ liệu vào từ file ‘TREE.INP’:
 Dòng thứ nhất chứa số nguyên dương n (n≤104).
 n dòng tiếp theo, dòng thứ i chứa số nguyên dương ai (ai≤109; i=1,2,…n).
Kết quả ghi vào file ‘TREE.OUT’ một số nguyên dương duy nhất là số lượng cây giữ lại nhiều nhất
thỏa mãn các yêu cầu trên.
Ví dụ:
TREE.INP TREE.OUT
7 4
3
7
2
8
6
9
5

GV: Nguyễn Thái Huy - huylqdvt@gmail.com Trang 5


Trường … 14

Bài 6: Hàng cây Tên file chương trình ‘TREES.???’


Ở một ngôi làng nọ, trên một con đường (được xem như một đường thẳng), có n cây gỗ quý được
đánh số theo thứ tự lần lượt từ 1 đến n và có giá trị lần lượt là a1, a2,… an. Sau khi tính toán, trưởng
làng đã quyết định khai thác (lấy gỗ) các cây gỗ đó. Tuy nhiên, sau khi khai thác trưởng làng muốn
giữ lại một số cây để làm bóng mát cho con đường thỏa mãn các điều kiện sau:
 Cây thứ k phải được giữ lại.
 Các cây có số thứ tự lớn hơn phải có giá trị lớn hơn.
 Số lượng cây giữ lại là nhiều nhất có thể.
Ví dụ: 7 cây có giá trị tương ứng là 3 7 2 8 6 9 5 thì ta giữ lại các cây có giá trị là 3 7 8 9 (với k=1)
Yêu cầu: Hãy giúp trưởng làng thực hiện điều đó.
Dữ liệu vào từ file ‘TREES.INP’:
 Dòng thứ nhất chứa số nguyên dương n và k (k≤n≤104).
 n dòng tiếp theo, dòng thứ i chứa số nguyên dương ai (ai≤109; i=1,2,…n).
Kết quả ghi vào file ‘TREES.OUT’ một số nguyên dương duy nhất là số lượng cây giữ lại nhiều
nhất thỏa mãn các yêu cầu trên.
Ví dụ:
TREES.INP TREES.OUT
71 4
3
7
2
8
6
9
5

GV: Nguyễn Thái Huy - huylqdvt@gmail.com Trang 6


Trường … 14

Bài 7: Chiếc Ba lô kì lạ Tên file chương trình ‘BALO.???’


Cho n đồ vật được đánh số thứ tự từ 1 đến n, vật thứ i có khối lượng ai và có giá trị ci.
Yêu cầu: Hãy chọn trong n đồ vật đó các đồ vật lần lượt bỏ vào ba lô sao cho:
 Đồ vật được bỏ vào trước phải có số thứ tự nhỏ hơn đồ vật bỏ vào sau.
 Đồ vật được bỏ vào trước phải có khối lượng nhỏ hơn hay bằng đồ vật bỏ vào sau.
 Tổng giá trị các vật bỏ vào ba lô là lớn nhất.
Dữ liệu vào từ file ‘BALO.INP’:
 Dòng thứ nhất là số nguyên dương n (n≤103).
 Trong n dòng tiếp theo, dòng thứ i chứa cặp số nguyên dương ai và ci (ai, ci≤109; i=1,2,…n).
Kết quả ghi vào file ‘BALO.OUT’ một số nguyên duy nhất là tổng giá trị lớn nhất tìm được.
Ví dụ:
BALO.INP BALO.OUT
4 10
53
25
72
45

GV: Nguyễn Thái Huy - huylqdvt@gmail.com Trang 7


Trường … 14

Bài 8: Cấp số cộng công sai d Tên file chương trình ‘ARITHD.???’
Cho một dãy số nguyên dương có n phần tử a1, a2,… an. Từ dãy a người ta xây dựng dãy số b1, b2,…
bk (k≤n) là dãy con của a.
Một dãy số b1, b2,… bk được gọi là cấp số cộng khi và chỉ khi bi=bi-1+d (trong đó d là hằng số và
được gọi là công sai; i=2, 3.. k)
Yêu cầu: Hãy tìm dãy b có nhiều phần tử nhất và là một cấp số cộng với công sai d.
Dữ liệu vào từ file ARITHD.INP:
 Dòng đầu là 2 số nguyên dương lần lượt là n và d (n≤103; 0<d≤100)
 Trong n dòng sau, dòng thứ i là số nguyên dương ai (i=1, 2,…n; ai≤109).
Kết quả ghi vào file ARITHD.OUT: số lượng phần tử nhiều nhất của dãy b.
Ví dụ:
ARITHD.INP ARITHD.OUT
42 3
1
4
3
5

GV: Nguyễn Thái Huy - huylqdvt@gmail.com Trang 8


Trường … 14

Bài 9: Dãy hình chữ V Tên file chương trình: ROWV.???


Một dãy số b1, b2,…bi-1, bi, bi+1… bk được gọi là dãy hình chữ V khi dãy đó thỏa mãn:
b1>b2>…>bi-1> bi< bi+1<… <bk (với i=2, 3… k-1)
Yêu cầu: Cho một dãy số nguyên a1, a2,… an. Hãy cho biết dãy con hình chữ V dài nhất của nó có
bao nhiêu phần tử.
Dữ liệu vào từ file ‘ROWV.INP’:
 Dòng đầu ghi số nguyên dương n (n≤104).
 n dòng tiếp theo mỗi dòng là một phần tử của dãy số đã cho (phạm vi mỗi phần tử có trị tuyệt
đối không quá 109).
Kết quả ghi vào file ‘ROWV.OUT’ số lượng phần tử của dãy con hình chữ V dài nhất tìm được.
Ví dụ:
ROWV.INP ROWV.OUT
8 5
6
2
5
9
4
7
4
8
(Giải thích: dãy con hình chữ V dài nhất là 6 5 4 7 8 )
Ràng buộc: có 60% test với n≤20

GV: Nguyễn Thái Huy - huylqdvt@gmail.com Trang 9

You might also like