\(a\) gồm \(N\) phần tử và một số \(k\). Các bạn được làm thao tác sau không quá \(m\) lần:
?có một dãy số nguyênHãy tìm cách tận dụng thao tác trên để sau khi chuyển đổi, giá trị \(max(a[1] , a[2] , ... , a[N]) - min(a[1] , a[2] , ... , a[N])\) là nhỏ nhất có thể.
Test 1
2
1
3
2
2
3
1
Test 2
1
1
3
2
3
4
0
Cho \(n\) tập hợp \(A_1,A_2,...,A_n\) biết rằng, tất cả các phần tử trong mỗi tập hợp đã cho đều thuộc đoạn \([1;m]\) và các phần tử trong mỗi tập hợp đều khác nhau từng đôi một !
Yêu cầu: Hỏi ta có thể tạo thành được bao nhiêu tập hợp khác nhau bằng cách lấy một vài tập hợp từ \(n\) tập hợp đã cho hợp lại với nhau.
Dòng thứ nhất chứa số \(t(1\le t\le 50)\) - Thể hiện số testcase
\(t\) block tiếp theo, mỗi block có dạng như sau:
Dòng thứ nhất chứa hai số nguyên \(n,m(1\le n\le 100,1\le m\le 14)\)
\(n\) dòng tiếp theo, mỗi dòng gồm \(k+1(k\le m)\) số nguyên trong đó: Phần tử đầu tiên thể hiện số lượng phần tử của tập hợp \(A_i\) và \(k\) phần tử tiếp theo - thể hiện các phần tử của tập \(A_i\)
Test 1
2
2 3
1 1
2 1 3
2 4
2 2 3
2 1 4
2
3
Ứng với testcase 1, ta chỉ có thể tạo ra được 2 tập khác nhau đó là: \(\left\{1\right\}\) ; \(\left\{1,3\right\}\)
Ứng với testcase 2, ta chỉ có thể tạo ra được 3 tập khác nhau đó là: \(\left\{2,3\right\}\) ; \(\left\{1,4\right\}\) ; \(\left\{1,2,3,4\right\}\)
Sau khi thua cược nặng nề ở mùa Euro và quán bánh tráng trộn của NTHA, bồ của anh ta, thua lỗ nặng nề,
đã không còn giàu có như trước nữa, giờ anh ta chỉ ở một ngôi nhà nhỏ và còn lại rất ít tiền để tiêu xài. Nhưng vì đang còn trong tuổi trai tráng, anh ta quyết định ra đi kiếm tiền để nuôi sống bản thân và ny của mình. Thương hoàn cảnh của anh ta, một ngày nọ có một vị tiên nhân xuất hiện và cho một kho báu có rất nhiều của cải quý giá. Vì muốn giàu nhanh nên anh ta đã lên đường đi đến nơi chôn giậu kho báu và định mang nó về. Nhưng khi đến nơi mới phát hiện ra kho báu bị khoá bởi 1 ổ khoá siêu hiện đại, và muốn mở nó thì phải biết dược mật khẩu của nó, nhưng vị tiên nhân kia quên nói cho anh ta.Mật khẩu của kho báu là mỗi dãy số bao gồm các số từ \(1\) đến \(n\) và chưa biết trước độ dài, nên nghĩ rằng mình phải thử rất nhiều trường hợp mới mở được kho báu. Nhưng khi nhìn sang bên cạnh, anh ta thấy một bản đồ cho biết một số rằng buộc của mật khẩu. Bản đồ chứa \(m\) cặp số \((u, v)\). Một mật khẩu hợp lệ nếu mọi cặp kề nhau trong mật khẩu đều thuộc \(m\) cặp số trong bản đồ (có thứ tự).
Ví dụ: Nếu \(n = 3\) và bản đồ chứa các cặp \((1, 2), (2, 3)\) thì:
Nhưng đời đâu như mơ, lúc nhập mật khẩu, khi nhấn nút \(i\) anh ta phải trả \(a_i\) đồng để có thể nhấn được nút đấy, tự hỏi rằng trong trường hợp tệ nhất anh ta có thể mở được kho báu không. Bạn hãy tính giúp anh ấy số tiền trong trường hợp tệ nhất anh ấy phải bỏ ra nhé, vì con số này quá lớn nên hãy đưa ra mod \(10^9 + 7\). Trường hợp tệ nhất là khi phải thử tất cả mật khẩu có thể. Nếu số lượng mật khẩu là vô hạn thì bạn hãy đưa ra \(-1\)
Dòng đầu tiên là hai số \(n\) và \(m\) là số nút bấm và số cặp số.
Dòng thứ hai chứa \(n\) số nguyên \(a_1, a_2, ..., a_n\), \(a_i\) là số tiền phải trả khi bấm nút thứ \(i\)
\(m\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(u\), \(v\) miêu tả một cặp số trong bản đồ.
Test 1
3 3
1 2 3
1 2
2 3
1 3
24
Trong ví dụ 1, các mật khẩu hợp lệ là:
+ $[1], [2], [3]$: tổng tiền là $1+2+3=6$
+ $[1, 2], [2, 3], [1, 3]$: tổng tiền là $12$
+ $[1, 2, 3]$: số tiền là $6$.
Như vậy tổng số tiền cần dùng là $6 + 12 + 6 = 24$.
Test 2
3 2
10 20 30
1 2
2 3
200
Trong ví dụ 2, các mật khẩu hợp lệ là: \([1], [2], [3], [1, 2], [2, 3], [1, 2, 3]\)
\(A\) gồm \(n\) phần tử. Với một dãy số \(B\), định nghĩa hàm \(F(B)\) chính là số phần tử riêng biệt xuất hiện trong \(B\). Hãy tính tổng \(F(B)\) với \(B\) là một dãy con liên tiếp của \(A\).
có một dãy sốNói cách khác, hãy tính tổng \(F([A_l, ..., A_r])\) với mọi cặp \(1 \leq l \leq r \leq n\).
Ví dụ, \(A = [1, 1, 2]\), ta sẽ có:
Tổng tất cả các hàm \(F\) sẽ là \(1 * 4 + 2 * 2 = 8\)
Nhiệm vụ của các bạn sẽ khó khăn hơn chút đỉnh. Bây giờ, dãy số sẽ được \(q\) lần. Mỗi lần, sẽ gán \(a[i] = x\). Sau mỗi thay đổi như vậy, các bạn hãy tính tổng \(F\) của dãy số \(A\) mới.
thay đổiDòng đầu tiên chứa 1 số nguyên dương \(n\) là độ dài dãy \(A\).
Dòng tiếp theo chứa \(n\) số nguyên dương biểu thị dãy \(A\).
Dòng tiếp theo chứa 1 số nguyên dương \(q\) là số truy vấn.
\(q\) dòng tiếp theo, mỗi dòng chứa một cặp số nguyên dương \(i\) \(x\) biểu thị một phép gán a[i] = \(x\).
Trong tất cả các test , \(1 \le i \le N\).
Subtask \(1\) (\(50\%\) số điểm): \(N \leq 1000\), \(x \le 20, a[i] \le 20\) và \(q = 1\).
Subtask \(2\) (\(20\%\) số điểm): \(N \leq 10^{5}\), \(x \le 20\), \(a[i] \le 20\) và \(q = 1\).
Subtask \(3\) (\(30\%\) số điểm): \(N \leq 10^{5}\), \(x \le 10^5, a[i] \le 10^5\) và \(q \le 10^5\).
Test 1
4
1 2 3 4
3
1 1
2 1
3 1
20
17
13
Sau truy vấn 1, dãy \(A\) = [1 2 3 4].
Tổng các hàm F sẽ là 1 $ * $ 4 + 2 $ * $ 3 + 3 $ * $ 2 + 4 = 20
Sau truy vấn 2, dãy \(A\) = [1 1 3 4].
Tổng các hàm F sẽ là 1 $ * $ 5 + 2 $ * $ 3 + 3 $ * $ 2 = 17
Sau truy vấn 3, dãy \(A\) = [1 1 1 4].
Cho hai dãy \(a\) và \(b\) gồm \(N\) số nguyên, các phần tử của \(b\) đôi một khác nhau. Ta tìm cách chia nhóm các phần tử của \(a\), mỗi nhóm có ít nhất \(2\) phần tử. Trong mỗi nhóm, số điểm đạt được là phần tử \(a_i\) sở hữu \(b_i\) cao thứ hai trong nhóm. Hãy tìm cách chia dãy \(a\) thành các nhóm liên tiếp sao cho đạt được tổng số điểm của các nhóm là cao nhất.
Test 1
5
1 2 3 5 4
1 5 3 2 4
8
Ở test ví dụ \(1\), ta chia các phần tử thành \(2\) nhóm. Nhóm \(1\) gồm các phần tử \([1, 2, 3]\) và nhóm 2 gồm \([5, 4]\). Khi đó số điểm đạt được là \(3 + 5 = 8\).
Test 2
5
-3 4 -10 2 7
1 4 3 2 5
4
Ở test ví dụ \(2\), phương án tối ưu nhất là chỉ gồm \(1\) nhóm duy nhất. Khi đó số điểm đạt được là \(4\)
\(10^7\) \(\text{kg}\) tại trường LQD đã thực hiện một phi vụ cực kỳ mạo hiểm, đó là trốn học lớp học của GSPVH cute. Tưởng rằng có thể một tay che trời, nhưng ngờ đâu, đã phát hiện ra vụ việc này và rất tức giận. quyết định dạy cho hắn một bài học nhớ đời. Để kiểm tra kiến thức lập trình của hắn, đã ra 1 bài toán rất khó để đố hắn, và nếu không giải được thì phải chịu phạt rất nặng. Nhưng vì hắn đang buồn vì tình nên không có tâm trí làm bài, mà lại không muốn chịu phạt nên đã quyết định nhờ các bạn pro coder trên LQDOJ giải hộ. Là một pro coder, bạn hãy giải bài toán này giúp hắn nhé.
, người được mệnh danh là nặngCho một cây có \(n\) đỉnh, mỗi đỉnh có một trọng số và hai số \(a, b\). Hãy đếm số cặp \((u, v)\) mà \(u \leq v\) sao cho tổng xor các đỉnh trên đường đi từ \(u\) đến \(v\) lớn hơn hoặc bằng \(a\) và bé hơn hoặc bằng \(b\).
Dòng đầu tiên chứa số \(n\) và hai số \(a, b\)
Dòng thứ hai chứa \(n\) số nguyên \(l_1, l_2 ... l_n\) trong đó \(l_ì\) là trọng số của đỉnh thứ \(i\)
\(n-1\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(u, v\) đại diện cho một cạnh của cây
\(n \leq 100000\)
\(1 \leq a,b,l_i \leq 10^9\)
\(1 \leq u, v \leq n\)
Dữ liệu vào đảm bảo đồ thị là một cây
Subtask \(1\) (\(25\%\) số điểm): \(n \leq 5000\)
Subtask \(2\) (\(25\%\) số điểm): Cây là một đường thẳng, các cạnh có dạng \((i, i+1)\) với $ 1 \leq i < n$
Subtask \(3\) (\(25\%\) số điểm): Cây là một cây nhị phân, các cạnh có dạng \((\lfloor{\dfrac{i}{2}\rfloor}, i)\) với $ 1 < i \leq n$
Subtask \(4\) (\(25\%\) số điểm): Giới hạn gốc, không có ràng buộc gì thêm.
Test 1
3 1 3
1 2 3
1 2
2 3
5
Cho số nguyên dương \(n\). Tính \(S=\sum\limits_{i=1}^{n}gcd(\left \lfloor{\sqrt[3]{i}}\right \rfloor ,i)\)
Trong đó:
\(gcd(a,b)\) - Thể hiện ước chung lớn nhất của hai số nguyên dương \(a\) và \(b\)
\(\left \lfloor{x}\right \rfloor\) - Thể hiện số nguyên lớn nhất và không vượt quá \(x\) (với \(x\) nguyên)
Dòng thứ nhất chứa số \(t(1\le t\le 10)\) - Thể hiện số testcase
\(t\) dòng tiếp theo, mỗi dòng chứa số \(n(1\le n\le 10^{21})\)
\(10\%\) : \(1\le n\le 100\)
\(10\%\) : \(1\le n\le 1000000\)
\(20\%\) : \(1\le n\le 10^{9}\)
\(30\%\) : \(1\le n\le 10^{16}\)
\(30\%\) : Không có điều kiện gì
Test 1
3
180
526
267
327
1069
522