\(S\) gồm \(N\) chữ cái tiếng Anh in thường và một số nguyên dương \(k\). Các bạn có thể áp dụng thao tác sau không quá \(k\) lần:
lại cho các bạn một xâu kí tựĐặt \(F(S)\) là độ dài đoạn con dài nhất của \(S\) chỉ chứa các kí tự giống nhau.
Hãy áp dụng thao tác trên một cách tối ưu để \(F(S)\) là lớn nhất và in ra giá trị này.
Dòng đầu tiên chứa 1 xâu kí tự \(S\).
Dòng tiếp thao chứa một số nguyên dương \(k\).
Test 1
cuomquaga
1
3
Cho phân số có dạng \(\frac{p}{q}\) trong đó \(p,q\) là các số nguyên dương. Và người ta chứng minh được rằng, luôn tồn tại duy nhất một bộ giải mã \((a_1,a_2,...,a_n)\) của phân số \(\frac{p}{q}\)thoả mãn các điều kiện sau:
\(a_i\in \mathbb{N}^{*}\text{ } (\forall i=\overline{1,n})\)
\(a_n=1\)
\(\frac{p}{q}=a_1+\frac{1}{a_2+\frac{1}{a_3+\frac{1}{...+\frac{1}{a_n}}}}\)
Yều cầu: Cho trước hai số nguyên dương \(p,q\). Hãy in ra bộ giải mã của \(\frac{p}{q}\) dưới dạng như sau:
Những kí tự trống ta in ra dấu ".".
Đối với thanh ngang của phân số ta sử dụng các chuỗi các dấu "-".
Tử số phải nằm tương ứng với điểm chính giữa của thanh ngang phân số.
Thanh ngang phân số phải có độ dài vừa đủ bao phủ phần mẫu bên dưới.
(Để hiểu rõ hơn, các bạn có thể xem ví dụ bên dưới).
Dòng thứ nhất chứa số \(t(1\le t\le 30)\) - Thể hiện số testcase.
\(t\) dòng tiếp theo, mỗi dòng chứa hai số nguyên dương \(p,q(0<q<p<10^{18})\) và đề bài ra đảm bảo \(p>q\).
Ứng với mỗi testcase, in ra kết quả có dạng như sau:
Dòng thứ nhất ghi: Case i: với \(1\le i\le t\).
Block tiếp theo, biểu diễn bộ giải mã của phân số tương ứng.
Subtask \(1\) (\(20\%\) số điểm): \(50>p>q>0\).
Subtask \(2\) (\(80\%\) số điểm): \(10^{18}>p>q>0\).
Test 1
3
39 16
39 19
1002 1001
Case 1:
..........1......
2.+.-------------
............1....
....2.+.---------
..............1..
........3.+.-----
................1
............1.+.-
................1
Case 2:
......1...
2.+.------
.........1
....18.+.-
.........1
Case 3:
.......1....
1.+.--------
...........1
....1000.+.-
...........1
\(A\) độ dài \(N\) và một dãy số \(B\) gồm \(N\) số \(0\). Các bạn có thể thực hiện thao tác sau trên dãy \(B\) để biến dãy \(B\) thành \(A\):
có một dãy sốĐịnh nghĩa "giá trị cuogma" của dãy số \(A\) chính là số thao tác ít nhất cần thực hiện lên dãy \(B\) để biển \(B\) thành \(A\). Ví dụ, nếu dãy \(A\) là [1 2 3] thì giá trị cuogma của dãy số này là 3:
Các bạn cũng có thể thực hiện thao tác sau trên dãy \(A\):
Hãy tìm cách thực hiện thao tác trên dãy \(A\) không quá 1 lần để giá trị cuogma của dãy kết quả là nhỏ nhất có thể và hãy in ra kết quả này.
Dòng đầu tiên chứa 1 số nguyên dương \(t\) là số lượng test case.
Mỗi test case có dạng sau:
Example test
2
3
1
2
3
5
2
2
5
2
4
2
3
Với a = [1 2 3], ta có thể đổi \(a_1\) thành 2, dãy \(A\) trở thành [2 2 3]. Sau đó, cần áp dụng 2 thao tác lên dãy \(B\) để biến \(B\) thành \(A\):
Với a = [2 2 5 2 4], ta có giữ nguyên dãy. Sau, đó, cần áp dụng 3 thao tác lên dãy \(B\) để biến \(B\) thành \(A\).
Cho \(n\) đồng xu xếp thành một hàng (và đánh số từ \(1\) đến \(n\)) trên cỗ máy kỳ diệu, mỗi đồng xu đều đang được đặt ngửa lên trên hoặc úp xuống dưới. Có \(m\) nút bấm, bấm vào nút thứ \(i\) thì cỗ máy kỳ diệu sẽ lật ngược \(l_i\) đồng xu \(b_1\), \(b_2\),..., \(b_{l_i}\). Hãy lập trình tìm một cách bấm để đưa tất cả các đồng xu về mặt úp. Dữ liệu đảm bảo luôn tồn tại một cách bấm thỏa mãn.
Test 1
6 5
0 0 0 0 0 0
3 2 4 6
5 1 2 3 4 5
3 2 3 5
2 1 2
2 2 6
3
3 4 1
Bạn được cho một số nguyên dương \(N\) \((N > 1).\)
Nhiệm vụ của bạn là tìm số lượng dãy gồm \(k\) phần tử thỏa mãn :
\(a_i \geq 2\) \((∀ i = 1, 2, 3, \dots, k)\).
\(a_1 \times a_2 \times \dots \times a_k = N\).
\(a_{i + 1}\) chia hết cho \(a_i\). \((∀ i = 1, 2, 3, \dots, k - 1)\).
Số \(k\) lớn nhất có thể.
Subtask \(1\) (\(20\%\) số điểm): \(N\) là số nguyên tố.
Subtask \(2\) (\(30\%\) số điểm): \(N ≤ 10 ^ {6}\).
Subtask \(3\) (\(50\%\) số điểm): \(N ≤ 10 ^ {12}\).
Test 1
180
3
Test 2
17
1