| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | Bé tập vẽ | 100 (p) | 1.0s | 512M |
| 2 | Đếm số | 100 (p) | 2.0s | 512M |
| 3 | Dãy ngoặc | 100 (p) | 1.0s | 512M |
| 4 | Bảng số | 100 (p) | 1.0s | 512M |
Trong giờ học vẽ, cô giáo đã chuẩn bị cho các cháu mẫu giáo một tờ giấy vẽ lên đó \(n\) đường thẳng bằng bút chì, đường thẳng thứ \(i\) có độ dài là \(a_{i}\).
Cô giáo yêu cầu các bé trong lớp cần làm cho các đoạn thẳng bằng nhau, để làm việc đó các bé phải dùng bút chì vẽ thêm vào các đoạn thẳng làm chúng dài thêm, hoặc có thể dùng tẩy để xóa đi độ dài các đoạn thẳng làm chúng ngắn lại. Thời gian để thực hiện thay đổi một đoạn thẳng bằng độ chênh lệch chiều dài giữa đoạn thẳng cũ với đoạn thẳng mới được tạo ra.
Yêu cầu: Em hãy giúp các bé tạo ra \(n\) đoạn thẳng bằng nhau với tổng chi phí thời gian nhỏ nhất.
Test 1
5
2 3 1 5 2
5
Cho dãy gồm \(n\) số nguyên dương \(a_{1}, a_{2}, \ldots, a_{n}\).
Bạn phải trả lời \(n\) truy vấn, mỗi truy vấn cho một số nguyên \(k\), bạn phải đếm số lượng vị trí \(x < k\) sao cho \(a_{x} = a_{k}\) và số lượng vị trí \(y > k\) sao cho \(a_{y} = a_{k}\).
Test 1
10 4
2 1 3 2 2 5 4 2 3 5
1
7
4
10
0 3
0 0
1 2
1 0
Mr Been đang cố gắng gõ một chuỗi ngoặc đơn cân bằng vào máy tính xách tay, nhưng anh ta rất vụng về nên anh ta hay gõ mất các kí tự. Hãy giúp anh ta tính xem có bao nhiêu kí tự trong chuỗi ngoặc đơn cần phải được đổi chiều (có nghĩa là đổi dấu mở ngoặc đơn thành dấu đóng ngoặc đơn, và ngược lại) để chuỗi ban đầu thành chuỗi cân bằng.
Có nhiều cách để định nghĩa một chuỗi ngoặc là “cân bằng.” Cách dễ nhất là số lượng dấu mở ngoặc ( bằng số lượng dấu đóng ngoặc ) và với bất kì chuỗi tiền tố nào, số lượng dấu mở ngoặc đơn ( phải lớn hơn hoặc bằng số lượng dấu đóng ngoặc đơn ). Trong những ví dụ sau đây, những chuỗi ở bên dưới là chuỗi cân bằng:
()
(())
()(()())
Những chuỗi sau đây là chuỗi không cân bằng:
)(
())(
((())))
Test 1
())(
2
Cho một bảng chữ số gồm \(n \times n\) ô vuông và một số nguyên dương \(k\). Tại một ô giao nhau giữa hai hàng \(i\) \((1 \leq i \leq n)\) và cột \(j\) \((1 \leq j \leq n)\) có giá trị \(i \times j\).
Ví dụ: \(n = 5\), ta có bảng số như sau:
Yêu cầu: hãy lập trình tìm số lần xuất hiện của \(k\) trong bảng số trên.
Test 1
5 3
2