CONTEST 01 T.THAI 2023
Trại hè Tin học Miền Bắc – Thái Nguyên 07/2023
ĐỀ CHUẨN HÓA THEO ĐỊNH DẠNG DMOJ (1 FILE DUY NHẤT)
A. SUMWIX
Description
Cho dãy số nguyên a = a1, a2, …, an.
Trọng số của bộ bốn chỉ số i ≤ j < k ≤ t là:
w(i, j, k, t) = max(ai, ai+1, …, aj) × min(ak, ak+1, …, at)
Hãy tính tổng trọng số của tất cả các bộ bốn chỉ số.
Input
- Dòng đầu tiên chứa số nguyên dương n.
- Dòng thứ hai chứa n số nguyên a1, a2, …, an (1 ≤ ai ≤ 10^9).
Output
- Ghi một số nguyên là tổng trọng số, lấy modulo 1000000007.
Constraints
- 12% số test: n ≤ 20
- 28% số test: n ≤ 1000
- 60% số test: n ≤ 100000
Example
Input
6
3 1 5 3 2 6
Output
773
B. EINV
Description
Cho dãy số nguyên a1, a2, …, an và số nguyên k.
Đếm số cặp (l, r) (1 ≤ l < r ≤ n) sao cho dãy
a1, a2, …, al, ar, …, an có không quá k nghịch thế.
Input
- Dòng đầu chứa hai số nguyên n, k.
- Dòng tiếp theo chứa dãy a.
Output
- Ghi một số nguyên là số cặp thỏa mãn.
Constraints
- n ≤ 100000
- 0 ≤ k ≤ 10^18
- 1 ≤ ai ≤ 10^9
- 50% số test: n ≤ 1000
Example
Input
5 2
1 3 2 1 7
Output
6
C. EVAL
Description
Cho G là một đồ thị vô hướng liên thông có trọng số.
Ngưỡng chấp nhận của cạnh e là số nguyên lớn nhất x (x ≤ 10^9)
sao cho khi thay trọng số của e bằng x (các cạnh khác giữ nguyên),
tồn tại một cây khung nhỏ nhất của G chứa e.
Input
- Dòng đầu chứa hai số nguyên n, m.
- m dòng tiếp theo, mỗi dòng chứa một cạnh u v w.
Output
- In ra m dòng, mỗi dòng là ngưỡng chấp nhận của cạnh theo thứ tự đầu vào.
Constraints
- 1 ≤ n ≤ 100000
- n − 1 ≤ m ≤ 1000000
- 0 ≤ w ≤ 10^9
- 50% số test: n ≤ 1000, m ≤ 10000
D. WDINO
Description
Có n loài khủng long, mỗi loài có vô hạn cá thể. Mỗi loài có thể ghét một số loài khác. Người quản thú có k viên kẹo.
- Gọi một con khủng long vào chuồng: tốn 1 viên kẹo.
- Gọi ra: không tốn kẹo.
- Chuồng hoạt động theo nguyên tắc stack (vào sau ra trước).
- Chỉ được gọi vào nếu trong chuồng không có loài mà nó ghét.
Hỏi có bao nhiêu cách tổ chức sao cho dùng hết k kẹo và cuối cùng chuồng rỗng.
Input
- Dòng đầu chứa n, k, m.
- m dòng tiếp theo chứa u v (u ghét v).
Output
- Ghi một số nguyên là số cách, lấy modulo 1000000007.
Constraints
- 1 ≤ n ≤ 10
- 1 ≤ k ≤ 100
- 0 ≤ m ≤ n(n−1)
Example
Input
2 2 1
1 2
Output
7
E. APOD
Description
Đếm số xâu độ dài n, chỉ chứa các ký tự Latin thường, sao cho không có tiền tố nào là xâu đối xứng có độ dài lớn hơn 1.
Input
- Một số nguyên dương n.
Output
- Ghi số lượng xâu thỏa mãn, lấy modulo 1000000007.
Constraints
- 12% số test: n ≤ 20
- 28% số test: n ≤ 1000
- 60% số test: n ≤ 100000
Example
Input
3
Output
16250
F. MTK
Description
Đếm số ma trận nhị phân n dòng m cột sao cho trong mọi cặp cột liên tiếp, số lượng mẫu (0 → 1) không vượt quá k.
Input
- Ba số n, m, k (1 ≤ n, m ≤ 40; 0 ≤ k ≤ n).
Output
- Ghi số ma trận thỏa mãn, lấy modulo 1000000007.
Constraints
- 50% số test: n, m ≤ 20
Example
Input
4 3 2
Output
3680
G. ISEQ
Description
Cho hoán vị a của {1, 2, …, n}. Với mỗi i, hãy đếm số j ≠ i sao cho khi xóa aj, độ dài LIS chứa ai bị giảm.
Input
- Dòng đầu chứa n.
- Dòng tiếp theo chứa hoán vị a.
Output
- In ra n số là kết quả tương ứng.
Constraints
- n ≤ 2×10^5
- 50% số test: n ≤ 1000
Example
Input
9
1 2 3 6 5 4 7 8 9
Output
5 5 5 6 6 6 5 5 5
J. FIGTREE
Description
Hùng đang vẽ một cây nhị phân. Ban đầu có cây cân bằng gồm 3 đỉnh.
Hai thao tác:
- Copy cây hiện tại.
- Paste cây đã copy vào một nút lá.
Hãy tính số thao tác paste ít nhất để tạo được cây mong muốn.
Input
- Một chuỗi ngoặc mô tả cây nhị phân.
Output
- In ra số thao tác paste ít nhất, hoặc -1 nếu không thể.
Constraints
- Số đỉnh ≤ 100000
Example
Input
((()())(((()())(()()))()))
Output
3
K. HAPPY
Description
Có n người sống thành vòng tròn (n lẻ). Ngày thứ t, người i gửi thiệp cho:
- (i + 2^t) mod n
- (i − 2^t mod n + n) mod n
Độ hạnh phúc ngày sau bằng tổng độ hạnh phúc nhận được.
Input
- Dòng đầu chứa n, k.
- Dòng tiếp theo chứa a0, a1, …, a(n−1).
Output
- In ra n số là độ hạnh phúc của từng người sau k ngày, modulo 10^9 + 7.
Example
Input
3 1
1 2 3
Output
5 4 3
L. DIAM2
Description
Một mã cây là chuỗi ngoặc đúng:
- () biểu diễn cây một nút.
- (A1A2…Ak) biểu diễn cây có gốc và k cây con.
Hãy tính đường kính của cây (số cạnh lớn nhất giữa hai đỉnh bất kỳ).
Input
- Một dòng chứa mã cây (độ dài ≤ 200000).
Output
- Một số nguyên là đường kính của cây.
Example
Input
((()(())))
Output
3
M. ARRAY2
Description
Cho dãy số nguyên a. Được phép thay đổi không quá một phần tử để thu được dãy b. Gọi ck là số giá trị phân biệt trong {b1,…,bk}.
Hãy tìm giá trị S nhỏ nhất có thể.
Input
- Dòng đầu chứa số testcase T.
- Với mỗi testcase:
- Dòng đầu chứa n.
- Dòng tiếp theo chứa dãy a.
Output
- Với mỗi testcase, in ra giá trị nhỏ nhất.
Constraints
- Tổng n ≤ 10^6
Example
Input
1
4
1 2 3 4
Output
22
N. HAT2
Description
Có n cái mũ khác nhau. Công ty phải trả mũ sao cho không quá m người nhận lại đúng mũ của mình.
Input
- Hai số n, m.
Output
- Số cách trả mũ, modulo 10^9 + 7.
Constraints
- n ≤ 10^6
Example
Input
5 2
Output
109
O. STORGE
Description
Cho dãy số nguyên không âm a. Mỗi bước được tăng hoặc giảm một phần tử (không âm). Hãy biến đổi dãy thành dãy không giảm với số bước ít nhất.
Input
- Dòng đầu chứa n.
- Dòng thứ hai chứa dãy a.
Output
- Ghi số bước biến đổi ít nhất.
Constraints
- 1 ≤ n ≤ 5000
Example
Input
5
1 4 2 5 2
Output
5