| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | LQDOJ CUP 2022 - Round 7 - SETSEQ | 100 (p) | 1.0s | 512M |
| 2 | LQDOJ CUP 2022 - Round 7 - QRTAB | 100 (p) | 1.0s | 512M |
| 3 | LQDOJ CUP 2022 - Round 7 - TRICOVER | 100 (p) | 10.0s | 512M |
Dũng luôn có một phong cách rất đặc biệt trong cách lập trình cũng như cách anh ấy mã hóa dữ liệu. Đây là một cách mã hóa dữ liệu rất dị mà Dũng đã thiết kế:
Nhắc lại, dãy con của một dãy được tạo thành bằng cách xóa đi một số phần tử và giữ nguyên thứ tự của các phần tử còn lại. Và dãy \(x\) có thứ tự từ điển nhỏ hơn dãy \(y\) nếu \(x\) là một tiền tố của \(y\) (và \(x \neq y\)) hoặc tồn tại một vị trí \(i\) (\(1 \leq i \leq \min(|x|, |y|)\)) mà với mọi \(j\) (\(1 \leq j < i\)) \(x_j = y_j\) và \(x_i < y_i\).
Để giải mã, người dùng cần nhập vào số nguyên \(k\) mà chương trình đã chọn để mã hóa.
Sau khi thử nghiệm, Dũng nhận được hai dãy nhưng lại không biết cách nào để tìm lại số nguyên \(k\) nên đã đã nhờ đến bạn. Với kinh nghiệm của bản thân, hãy giúp Dũng tìm lại nhé.
Ngoài ra, dãy thứ \(k\) mà chương trình đưa ra có thể là không phải là dãy con của \(a\) do chương trình bị lỗi (Có thể do \(k\) âm chăng?).
Test 1
4 2
3 1 3 1
3 1
6
Tập hợp mà chương trình xây dựng được gồm các dãy \([1]\), \([1, 1]\), \([1, 3]\), \([1, 3, 1]\), \([3]\), \([3, 1]\), \([3, 1, 1]\), \([3, 1, 3]\), \([3, 1, 3, 1]\), \([3, 3]\) và \([3, 3, 1]\). Vì dãy \([3, 1]\) là dãy thứ \(6\) trong tập hợp nên \(k = 6\).
Test 2
4 2
3 1 3 1
3 2
-1
Vì dãy \([3, 2]\) không xuất hiện trong tập hợp nên chương trình đã bị lỗi.
Nhân dịp sang năm mới, một chương trình xổ số được tổ chức với quy mô giải thưởng lên tới hàng tỷ đồng. Đây là cơ hội đổi đời của mỗi người và cũng chính là một cơ hội to lớn của bạn. Cách thức tham gia rất đơn giản, bạn chỉ mua các tờ vé số và nhận phần thưởng với những tấm vé số trúng giải. Đơn vị tổ chức đã bắt đầu mở bán vé số ở các đại lý trên toàn quốc. Mỗi tờ vé số sẽ có một dãy số gồm \(n\) số nguyên dương \(a_1, a_2,\ldots, a_n\) là một dãy hoán vị từ \(1\) đến \(n\). Một điều chưa từng có trong tiền lệ đó là: Đơn vị tổ chức sẽ cung cấp gợi ý về những tấm vé số đạt giải. Gợi ý là một mã QR có dạng một ma trận nhị phân kích thước \(n \times n\), ô ở hàng thứ \(i\) và cột thứ \(j\) có số \(b_{i,j}\).
Thông tin được cung cấp thêm như sau: Trên mỗi dãy hoán vị, một thao tác thay đổi được thực hiện bằng cách chọn một chỉ số \(i\) (\(1<i<n\)) và gán \(a_i\) bằng trung vị của dãy \(\{a_{i-1}, a_i, a_{i+1}\}\). Trên ma trận gợi ý, giá trị \(b_{i,j} = 1\) nếu có thể tạo ra \(a_i = j\) sau một số thao tác thay đổi, ngược lại giá trị \(b_{i,j} = 0\). Những tấm vé số đạt giải nếu có dãy hoán vị thỏa mãn ma trận gợi ý mà đơn vị tổ chức cung cấp.
Nhắc lại, trung vị của một dãy là phần tử ở giữa sau khi dãy đã được sắp xếp theo thứ tự tăng dần. Ví dụ, trung vị của dãy \(\{5, 2, 3\}\) là \(3\).
Từ những thông tin gợi ý cung cấp, hãy tìm ra một tấm vé số đạt giải và đi lĩnh thưởng.
Test 1
5
10000
00111
00110
00110
01000
1 5 3 4 2
Với dãy \(1 \ 5 \ 3 \ 4 \ 2\):
Quis vừa phát minh ra một robot cắt cỏ mới. Nó sử dụng trí tuệ nhân tạo để đưa ra quyết định là nên cắt ở đâu, diện tích bao nhiêu. Tuy nhiên, đáng buồn là do chưa đủ dữ liệu nên hiện tại robot chỉ có thể cắt một cách vô cùng ngẫu nhiên, hiệu suất không cao.
Trong hôm nay, robot đã cắt được \(n\) vùng trên bãi cỏ. Ta có thể coi bãi cỏ là một hình chữ nhật trên mặt phẳng, có độ dài bề ngang và bề dọc lần lượt là \(W\) và \(H\) đơn vị. Để dễ xác định vị trí mà robot đã cắt, ta đặt gốc tọa độ \(Oxy\) ở góc trái dưới của hình chữ nhật sao cho hai trục \(Ox\), \(Oy\) trùng với cạnh của hình chữ nhật.
Do cấu tạo đặc biệt, mỗi lần cắt cỏ, robot sẽ cắt toàn bộ cỏ trong một hình tam giác có tọa độ các đỉnh nguyên và nằm gọn trong bãi cỏ.
Nhằm đánh giá hiệu suất của buổi cắt cỏ ngày hôm nay (với \(n\) vùng đã được cắt), làm cơ sở để robot điều chỉnh và học tập, hãy tính diện tích trung bình mỗi lần cắt, được tính bằng cách lấy tổng diện tích cỏ đã được cắt, chia cho \(n\).
Subtask \(3\) (\(25\%\) số điểm): Các tam giác là tam giác vuông cân có hai cạnh song song với trục tọa độ, và chỉ thuộc vào một trong hai dạng sau:

Subtask \(4\) (\(40\%\) số điểm): Không có ràng buộc gì thêm.
Test 1
1 5 5
0 0 3 0 0 4
6.000000152004
Chỉ có một hình tam giác duy nhất là tam giác vuông có hai cạnh góc vuông lần lượt là \(3\) và \(4\), diện tích của hình là \(6\). Vì \(6.00000152004\) có sai số tương đối nhỏ hơn \(10^{-6}\) nên đáp án được chấp nhận.