| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | Bài 1 - SERVER | 100 (p) | 1.0s | 256M |
| 2 | Bài 2 - REARRANGE | 100 (p) | 1.0s | 256M |
| 3 | Bài 3 - CNTF | 100 (p) | 1.0s | 256M |
| 4 | Bài 4 - SPATH | 100 (p) | 1.0s | 256M |
| 5 | Số đặc biệt | 100 (p) | 1.0s | 512M |
Một trung tâm dữ liệu đang vận hành \(n\) cụm máy chủ để xử lý tính toán hiệu năng cao. Nhằm tối ưu hóa năng lực tính toán, hệ thống được thiết kế theo kiến trúc phân tầng vô cùng đặc biệt. Cụ thể, tại cụm máy chủ thứ \(i\) (\(1 \le i \le n\)), kiến trúc được tổ chức chặt chẽ thành ba tầng như sau:
Yêu cầu: Cho biết số lượng cụm máy chủ \(n\). Hãy tính tổng số lượng luồng xử lý độc lập được thiết lập trong toàn bộ trung tâm dữ liệu (gồm cả \(n\) cụm). Vì kết quả có thể rất lớn, chỉ cần in ra phần dư của tổng này khi chia cho \(10^9 + 7\).
Test 1
3
36
Hệ thống có 3 cụm máy chủ:
Tổng số luồng xử lý trong cả 3 cụm là: \(1 + 8 + 27 = 36\).
Do \(36 < 10^9 + 7\), kết quả in ra là 36.
Tại trung tâm nghiên cứu vô tuyến, các chuyên gia đang thử nghiệm một giao thức truyền tin mật mã mới. Mỗi thông điệp được mã hóa thành một chuỗi gồm \(n\) tín hiệu rời rạc, tín hiệu thứ \(j\) có cường độ là một số nguyên dương \(a_j\).
Để giải mã được thông điệp, hệ thống cần tìm cách đồng bộ hóa chuỗi tín hiệu này. Quá trình đồng bộ hóa thành công nếu hệ thống có thể đảo lộn thứ tự các tín hiệu trong chuỗi ban đầu để tạo ra một cấu hình mới, sao cho tồn tại một điểm cắt \(i\) (\(1 \le i < n\)) chia chuỗi thành hai phần thỏa mãn tính chất:
Nói cách khác, từ dãy \(a_1, a_2, \dots, a_n\) ban đầu, cần kiểm tra xem có tồn tại một hoán vị của dãy và một chỉ số \(i\) sao cho:
Yêu cầu: Cho trước \(T\) bộ dữ liệu thử nghiệm, mỗi bộ chứa \(n\) cường độ tín hiệu \(a_1, a_2, \dots, a_n\). Với mỗi bộ dữ liệu, hãy xác định xem có tồn tại cách đảo lộn thứ tự thỏa mãn điều kiện đồng bộ khóa hay không.
YES nếu tồn tại cách hoán vị thỏa mãn yêu cầu, ngược lại in ra NO.Test 1
2
3
6 4 2
3
3 5 7
YES
NO
YES.NO.Để đối phó với tình trạng biến đổi khí hậu đang ảnh hưởng trực tiếp đến mùa màng và đời sống dân sinh, một trạm quan trắc môi trường đã tiến hành thu thập dữ liệu nhiệt độ trung bình hàng ngày trong suốt một khoảng thời gian dài. Trong \(n\) ngày liên tiếp, nhiệt độ đo được ghi nhận lại thành một chuỗi số nguyên \(a_1, a_2, \dots, a_n\).
Các chuyên gia khí tượng định nghĩa trọng số chênh lệch nhiệt độ của một giai đoạn kéo dài từ ngày thứ \(i\) đến ngày thứ \(j\) (\(1 \leq i \leq j \leq n\)) là \(F(i, j) = \max(a_i, a_{i+1}, \dots, a_j) - \min(a_i, a_{i+1}, \dots, a_j)\). Một giai đoạn được đánh giá là có “biến động thời tiết khắc nghiệt” nếu chênh lệch giữa nhiệt độ cao nhất và thấp nhất trong giai đoạn đó vượt qua hoặc bằng một ngưỡng rủi ro \(K\) cho trước.
Yêu cầu: Cho biết ngưỡng rủi ro \(K\) và chuỗi dữ liệu nhiệt độ \(n\) ngày. Hãy đếm xem có bao nhiêu giai đoạn \((i, j)\) (\(i \leq j\)) được xếp loại là có biến động thời tiết khắc nghiệt (tức là \(F(i, j) \ge K\)).
Test 1
4 2
1 3 2 4
5
Ngưỡng rủi ro \(K = 2\). Các giai đoạn \((i, j)\) có chênh lệch nhiệt độ \(\ge 2\) bao gồm:
Tổng cộng có 5 giai đoạn thỏa mãn điều kiện.
Trong ngày hội STEM của trường, câu lạc bộ Tin học tổ chức một cuộc thi lập trình điều khiển robot di chuyển trên sa bàn. Sa bàn là một mặt phẳng được chia thành lưới ô vuông kích thước \(M \times N\) (gồm \(M\) dòng và \(N\) cột). Trên sa bàn, mỗi ô vuông có thể là một khu vực di chuyển an toàn (kí hiệu là số 0) hoặc một khu vực có chướng ngại vật (kí hiệu là số 1).
Để kiểm tra độ linh hoạt của thuật toán định vị, ban tổ chức đưa ra một thử thách: robot phải thực hiện một "hành trình đơn" đi qua đúng \(K\) ô an toàn. Một hành trình hợp lệ được định nghĩa như sau:
Yêu cầu: Cho trước kích thước \(M\), \(N\), độ dài hành trình \(K\) và bản đồ sa bàn. Hãy tính tổng số lượng hành trình đơn hợp lệ khác nhau mà robot có thể thực hiện. Hai hành trình được coi là khác nhau nếu dãy tọa độ các ô mà robot lần lượt đi qua là khác nhau.
Test 1
2 2 3
0 0
0 1
2
Gọi tọa độ các ô trên sa bàn là \((r, c)\) với \(r\) là chỉ số dòng, \(c\) là chỉ số cột. Sa bàn \(2 \times 2\) có chướng ngại vật tại ô \((2, 2)\). Các ô an toàn gồm: \((1, 1)\), \((1, 2)\), \((2, 1)\).
Yêu cầu tìm hành trình qua đúng \(K = 3\) ô an toàn không lặp lại. Có 2 hành trình thỏa mãn:
Trong lúc chờ Tân loại bỏ bớt các hình dạng không hợp lý cho trò chơi oẳn tù tì, Lương và Định viết ra một con số đặc biệt: \(2941999\). Sau đó, hai bạn đã rủ Ngọc cùng ngồi giết thời gian bằng một trò chơi thú vị, ba bạn cùng cộng bình phương các chữ số của con số đặc biệt lại và lấy kết quả đó thay thế cho con số hiện tại: \(2^2+9^2+4^2+1^2+9^2+9^2+9^2=4+81+16+1+81+81+81=345\). Họ kiên trì lặp lại bước trên: \(345→50→25→29→85→89→145→42…\) cho tới khi nào được kết quả là số \(1\) thì dừng lại, vì cả ba đều rất ghét con số này (gợi lên sự lẻ loi của những chàng trai FA). Với tài năng toán học thiên bẩm, Ngọc nhận ra rằng nếu xuất phát từ con số \(2941999\) như trên thì không bao giờ biến đổi được nó về số \(1\) bằng cách lặp đi lặp lại bước cộng bình phương các chữ số. Lương và Định cũng công nhận điều này và hai bạn nhờ Ngọc xác định giúp xem có bao nhiêu con số đặc biệt như vậy (không thể biến đổi về số 1) trong đoạn các số tự nhiên từ \(L\) đến \(R\).
Yêu cầu: Với từng cặp số tự nhiên \(L\) và \(R (1≤L≤R≤10^{18})\), hãy giúp Ngọc xác định số lượng số đặc biệt nằm trong đoạn \([L,R]\).
Ghi ra \(T\) dòng, mỗi dòng chứa một số nguyên duy nhất là câu trả lời cho câu hỏi tương ứng.
Test 1
1
2941999 2942002
3