Xoắn ốc (Vĩnh Phúc 2024)

Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.

  • Tệp vào: SPIRALP.INP
  • Tệp ra: SPIRALP.OUT
  • Thời gian chạy: 1.0s
  • Bộ nhớ: 1024MB

TLEoj Contest #07 - Knapsack đơn giản

haiender288

Chắc hẳn các bạn đã biết về bài toán cái túi, hay knapsack. Bài toán này là một phiên bản khác của bài toán cái túi.

Có n món đồ, món đồ thứ i có cân nặng a_i. An chọn một số món đồ sao cho tổng cân nặng của chúng đúng bằng m và muốn biết rằng có bao nhiêu cách chọn đồ như vậy. Một món đồ có thể chọn 0 lần, 1 lần hoặc nhiều hơn 1 lần, hai cách chọn được gọi là khác nhau nếu có một món đồ chọn nhiều hoặc ít hơn cách chọn kia. Hãy giúp bạn An đếm nhé

Input, Output và Subtasks

Input: (standard input)
  • Dòng đầu gồm hai số nguyên dương n và m (1\leq n\leq 10).
  • Dòng tiếp theo gồm n số nguyên dương a_1,a_2,...,a_n (1\leq a_i\leq 20).
Output: (standard output)
  • In ra một số là số cách chọn mod 10^9+7.
Subtasks
  • Subtask 1 (40\%): m\leq 2000
  • Subtask 2 (20\%): n=2, m\leq 10^{18}
  • Subtask 3 (40\%): m\leq 10^{18}

Sample

Input (standard input)
3 4
1 2 3
Output (standard output)
4

DÃY ĐẶC TRƯNG (Hà Tĩnh 2024)

Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.

  • Tệp vào: SPEC.INP
  • Tệp ra: SPEC.OUT
  • Thời gian chạy: 1.0s
  • Bộ nhớ: 1024MB

Ma-nơ-canh (Quảng Nam 2025)

Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.

  • Tệp vào: MANOCANH.INP
  • Tệp ra: MANOCANH.OUT
  • Thời gian chạy: 1.0s
  • Bộ nhớ: 1024MB

Trại hè Phương Nam 2024 - Từ an toàn

remyvnkhiemtruong

Phương là một người thích sự độc đáo, anh ta rất không thích sự lặp lại, ngay cả khi nó xuất hiện trong các cuộc trò chuyện hàng ngày. Phương cảm thấy khó chịu khi phải dùng các từ có quá nhiều chữ cái lặp lại. Cụ thể với một từ W bất kì, cậu định nghĩa F(W) là độ khó chịu của từ đó. F(W) được tính bằng tổng của bình phương số lần xuất hiện trong W với mỗi chữ cái. Ví dụ với W = "hello" có 2 chữ cái 'l', 1 chữ cái 'h', 1 chữ cái 'e' và 1 chữ cái 'o' có độ khó chịu là F(W) = 2^2 + 1^2 + 1^2 + 1^2 = 7.

Phương chỉ muốn sử dụng những từ an toàn, nghĩa là những từ có độ khó chịu nhỏ hơn hoặc bằng một số nguyên K cho trước.

Yêu cầu: Phương có một xâu S độ dài N chỉ gồm chữ cái in thường (từ 'a' đến 'z'). Hãy giúp Phương đếm số lượng xâu con là từ an toàn của S.

Nhắc lại, một xâu con của một xâu S cho trước là một xâu thu được khi xóa một số ký tự liên tiếp nhau (hoặc không xóa) ở đầu xâu S và một số ký tự liên tiếp nhau (hoặc không xóa) ở cuối xâu S. Ví dụ "olp" hay "psou" là xâu con của "olpsouth" trong khi "suh" thì không. Hai xâu con được coi là khác nhau nếu số lượng ký tự bị xóa ở đầu xâu khác nhau hoặc số lượng ký tự bị xóa ở cuối xâu khác nhau.

Input, Output

Input: (WORD.INP)

Vào từ file văn bản WORD.INP:

  • Dòng thứ nhất chứa hai số nguyên N và K lần lượt là độ dài của xâu S và giới hạn của từ an toàn (1 \le N \le 2 000 000, 1 \le K \le 10^{18}).
  • Dòng thứ hai chứa một xâu độ dài N chỉ gồm các chữ cái in thường mô tả xâu S.

Các số trên cùng một dòng cách nhau bởi dấu cách.

Output: (WORD.OUT)
  • Ghi ra file văn bản WORD.OUT một số nguyên duy nhất là số lượng xâu con của S là từ an toàn.

Sample

Subtask
  • Có 20\% số test ứng với 20\% số điểm của bài thoả mãn: N \le 100.
  • 20\% số test khác ứng với 20\% số điểm của bài thoả mãn: N \le 1000.
  • 20\% số test khác ứng với 20\% số điểm của bài thoả mãn: N \le 10 000.
  • 20\% số test khác ứng với 20\% số điểm của bài thoả mãn: N \le 200 000.
  • 20\% số test còn lại ứng với 20\% số điểm của bài: Không có ràng buộc gì thêm.

Chọn quà (Cần Thơ 2024)

Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.

  • Tệp vào: QUA.INP
  • Tệp ra: QUA.OUT
  • Thời gian chạy: 1.0s
  • Bộ nhớ: 1024MB

Giao hàng (TP Hồ Chí Minh 2024)

Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.

  • Tệp vào: GIAOHANG.INP
  • Tệp ra: GIAOHANG.OUT
  • Thời gian chạy: 1.0s
  • Bộ nhớ: 1024MB

TLE Speedrun - Ước chung nhỏ nhất

Sunlight
Input và Output
Input
  • Hai số nguyên dương A, B (1 \le A, B \le 10^9).
Output
  • Ước chung nhỏ nhất của A và B.
Sample
Input
2 3
Output
-1

Mã số (Đắk Nông 2024)

Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.

  • Tệp vào: stdin
  • Tệp ra: stdout
  • Thời gian chạy: 1.0s
  • Bộ nhớ: 1024MB

Giúp mẹ (Huế 2024)

Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.

  • Tệp vào: GME.INP
  • Tệp ra: GME.OUT
  • Thời gian chạy: 1.0s
  • Bộ nhớ: 1024MB

Xâu đối xứng (Huế (TP Huế) 2023)

Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.

  • Tệp vào: PALIND.INP
  • Tệp ra: PALIND.OUT
  • Thời gian chạy: 1.0s
  • Bộ nhớ: 1024MB

TLEoj Contest #02 - Nhảy về không (bản khó)

Sunlight, huyhau6a2

Bạn được cho một số nguyên dương n. Với mỗi thao tác, bạn trừ n cho tổng các chữ số của nó. Đếm số thao tác cần thiết để có n = 0.
Bạn phải trả lời q truy vấn như vậy.

P/s: Bài này có giới hạn bộ nhớ là 600000KB (600 nghìn kilobytes).

Input, Output và Subtasks

Input: (bàn phím)
  • Dòng đầu tiên là số nguyên dương q \le 10^5.
  • q dòng tiếp theo, mỗi dòng là một số nguyên dương n \le 10^{18}.
Output: (màn hình)
  • Gồm q dòng, dòng thứ i là kết quả truy vấn thứ i.
Subtasks
  • Subtask 1 (12\%): q = 1,n\le 10^9.
  • Subtask 2 (12\%): n \le 10^5.
  • Subtask 3 (16\%): n \le 10^6.
  • Subtask 4 (16\%): n \le 10^8.
  • Subtask 5 (24\%): n \le 10^9.
  • Subtask 6 (20\%): Không có giới hạn gì thêm.

Sample

Input (bàn phím)
3
18
19
20
Output (màn hình)
2
2
3
Notes
  • Ở testcase đầu tiên, 18 - 9 = 9 và 9 - 9 = 0.
  • Ở testcase thứ hai, 19 - 10 = 9 và 9 - 9 = 0.
  • Ở testcase thứ ba, 20 - 2 = 18, 18 - 9 = 9 và 9 - 9 = 0.

TLEoj Contest #05 - Truy vấn AOX (bản khó)

khanhphucscratch, huyhau6a2

Chắc hẳn các bạn còn nhớ bài TLE-oj Cup Round 6 - Truy vấn AOX của huyhau6a2. Đây là bản khó của bài tập này. Bản khó và bản dễ chỉ khác nhau về phần dữ liệu

Bạn được cho 1 xâu a gồm n ký tự chỉ gồm các ký tự như &, |, ^ (tương đương với phép toán AND, OR, XOR). Bạn phải thực hiện q truy vấn:

  • 1 k x: Cập nhật ký tự thứ k trong xâu a thành x (1\le k\le n, x thuộc 1 trong 3 loại ký tự như trên)
  • 2 l r k u v: Tính độ đẹp của xâu trong đoạn [l,r] với các giá trị k,u,v (1\le l\le r\le n,1\le k\le 60,0\le u\le v<2^k)

huyhau6a2 định nghĩa độ đẹp của một xâu ký tự a độ dài x với các giá trị k,u,v như sau: Là số lượng dãy b thỏa mãn (0\le b_i<2^k):

u\le b_1\ a_1\ b_2\ a_2\ b_3\ a_3\ b_4\ \dots\ a_x\ b_{x+1}\le v

Chú ý: Thứ tự thực hiện tính toán theo các ký tự của xâu a được thực hiện từ trái sang phải

VD: Xâu |^ với k=1,u=1,v=1 thì có các khả năng như sau:

  • 0|0^0=0
  • 0|0^1=1
  • 0|1^0=1
  • 0|1^1=0
  • 1|0^0=1
  • 1|0^1=0
  • 1|1^0=1
  • 1|1^1=0

Theo như kết quả ở trên, có 4 kết quả thỏa mãn. Vậy độ đẹp của xâu |^ với k=1,u=1,v=1 là 4

Nhiệm vụ của bạn là phải tính toán các kết quả của truy vấn 2. Vì kết quả rất lớn nên hãy xuất kết quả mod\ 10^9+7

Input, Output và Subtasks

Input: (bàn phím)
  • Dòng đầu tiên gồm 2 số n và q (1\leq n,q\leq 2\cdot 10^5)
  • Dòng thứ hai gồm duy nhất một xâu a
  • Sau đó là q dòng, mỗi dòng nhập truy vấn như trên
Output: (màn hình)
  • Với mỗi truy vấn loại 2, xuất ra kết quả cần tìm
Subtasks

Bài toán sẽ chia làm 3 nhóm subtask:

  • Nhóm subtask 1 (10\%): n,q\le 20
  • Nhóm subtask 2 (30\%): n,q\le 5000
  • Nhóm subtask 3 (60\%): n,q\le 2\cdot 10^5

Với mỗi nhóm subtask sẽ có ràng buộc về các loại truy vấn như sau:

  • Ràng buộc 1 (10\%): u=0,v=2^k-1 với mọi truy vấn loại 2.
  • Ràng buộc 2 (20\%): k=1 với mọi truy vấn loại 2.
  • Ràng buộc 3 (20\%): k\le 20 với mọi truy vấn loại 2.
  • Ràng buộc 4 (50\%): Không có ràng buộc gì thêm

Sample

Input (bàn phím)
3 4
&|^
2 2 3 1 1 1
1 3 |
2 2 3 1 0 1
2 1 3 2 2 2
Output (màn hình)
4
8
39
Note

Trong truy vấn 1 đã giải thích ở trên nên sẽ không giải thích lại.
Trong truy vấn 2 dễ dàng nhận thấy với mọi dãy b kết quả có thể ra trong khoảng [0,1], mà có 8 dãy b có thể tạo nên xuất ra 8

TLEoj Cup Final Day 1 - Đồ thị xor

Cho một đồ thị có 2^n đỉnh được đánh số từ 0 đến 2^n - 1 và một dãy số nguyên a_1, a_2, ..., a_m. Tồn tại cạnh nối giữa đỉnh i và j khi và chỉ khi i\ xor\ j = a_k với 1 \le k \le m. Cho q truy vấn, mỗi truy vấn gồm hai số nguyên u, v, nhiệm vụ của bạn là tìm độ dài đường đi ngắn nhất từ đỉnh u đến đỉnh v.

Input, Output và Subtask
Input (XORG.inp)
  • Dòng đầu tiên gồm ba số nguyên dương n, m, q (n \le 60, m \le 20, q \le 10^6)
  • Dòng thứ hai gồm m số nguyên dương a_1, a_2, ..., a_m.
  • q dòng tiếp theo, mỗi dòng gồm hai số nguyên dương u, v,
Output (XORG.out)
  • Gồm q dòng, dòng thứ i là kết quả của truy vấn thứ i. Nếu không tồn tại đường đi giữa hai đỉnh u, v, in ra -1.
Subtask
  • 20\% số điểm có n \le 10.
  • 20\% số điểm khác có n \le 20.
  • 20\% số điểm khác có m = 1.
  • 20\% số điểm khác có m = 2.
  • 20\% số điểm còn lại không có giới hạn gì thêm.
Sample 1
Input (XORG.inp)
3 2 4
5 3
1 7
3 5
1 5
0 3
Output (XORG.out)
2
2
-1
1
Notes

Đồ thị sẽ có dạng như sau

Input (XORG.inp) Output (XORG.out) Note
3 2 4 n = 3, m = 2, q = 4
5 3 a = (5, 3)
1 7 2 Đường đi ngắn nhất là 1 \rightarrow 2 \rightarrow 7.
3 5 2 Đường đi ngắn nhất là 3 \rightarrow 6 \rightarrow 5.
1 5 -1 Không có đường đi từ 1 đến 5.
0 3 1 Có đường đi trực tiếp từ 0 đến 3.