Điều hướng chính

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Bài tập

Bài được chọn theo nhịp luyện tập của bạn, cùng mọi bài mới vừa lên.

root

Bài toán chia kẹo

100 điểm

Trong một ngôi làng nhỏ, có một người bà hiền hậu nổi tiếng với những viên kẹo ngọt. Một ngày nọ, bà có \(m\) viên kẹo và muốn chia đều cho \(n\) đứa cháu. Vì bà rất yêu thương tất cả các cháu, bà không muốn bất kỳ ai cảm thấy thiệt thòi. Một cách chia được coi là khác nhau nếu có ít nhất một đứa cháu nhận được số lượng kẹo khác với cách chia kia.

Ví dụ, nếu có 3 đứa cháu và 2 viên kẹo, có 6 cách chia:

  • Đứa thứ nhất, thứ hai, thứ ba lần lượt nhận 0, 0, 2 viên.
  • Đứa thứ nhất, thứ hai, thứ ba lần lượt nhận 0, 1, 1 viên.
  • Đứa thứ nhất, thứ hai, thứ ba lần lượt nhận 0, 2, 0 viên.
  • Đứa thứ nhất, thứ hai, thứ ba lần lượt nhận 1, 0, 1 viên.
  • Đứa thứ nhất, thứ hai, thứ ba lần lượt nhận 1, 1, 0 viên.
  • Đứa thứ nhất, thứ hai, thứ ba lần lượt nhận 2, 0, 0 viên.

Bạn hãy giúp bà tính xem có bao nhiêu cách chia kẹo khác nhau cho các cháu.

Input

  • Dòng duy nhất chứa hai số nguyên \(n\) và \(m\).

Output

  • In ra số cách chia modulo \(10^9+7\).

Example

Test 1

Input
3 2
Output
6

Scoring

  • Subtask \(1\) (\(20\%\) số điểm) : \(n, m \leq 10\).
  • Subtask \(2\) (\(20\%\) số điểm) : \(n, m \leq 100\).
  • Subtask \(3\) (\(20\%\) số điểm) : \(n, m \leq 1000\).
  • Subtask \(4\) (\(40\%\) số điểm) : \(n, m \leq 10^6\).

root

Bảng đẹp

100 điểm

Một bảng số nguyên không âm được gọi là bảng đẹp nếu tổng các số trong bảng chia hết cho \(9\).

Ví dụ, bảng
\(\begin{bmatrix} 3 & 3 & 3\\ 1 & 2 & 6 \end{bmatrix}\)
là một bảng đẹp.

Yêu cầu: Cho bảng số nguyên không âm kích thước \(m × n\), hãy đếm số bộ chỉ số \((x,y,u,v)\) với \(1 \leq x \leq u \leq m;1 \leq y\leq v \leq n\) sao cho bảng số con có ô trái trên \((x,y)\) và ô phải dưới \((u,v)\) là một bảng đẹp.

Input

  • Dòng đầu chứa số nguyên \(m, n\)

  • Dòng thứ \(i\) \((1 \leq i \leq m)\) trong \(m\) dòng sau chứa \(n\) số nguyên \(a_{(i,1)},a_{(i,2)},..,a_{(i,n)}\) \((a_{(i,j)} \leq 10^9)\).

Output

  • In ra một số nguyên là số bộ chỉ số \((x,y,u,v)\) thỏa mãn.

Example

Test 1

Input
2 3
3 3 3
1 2 6
Output
5

Scoring

  • Subtask #1 (\(30\%\) số điểm): \(m, n \leq 5\)

  • Subtask #2 (\(40\%\) số điểm): \(m, n \leq 50\)

  • Subtask #3 (\(30\%\) số điểm): \(m, n \leq 500\)

root

Bảng rỗng

100 điểm

Trong một vương quốc xa xưa, có một khu rừng ma thuật được chia thành \(n \times n\) ô vuông, mỗi ô vuông có thể chứa đá quý (\(1\)) hoặc trống rỗng (\(0\)). Nhiệm vụ của các pháp sư trong vương quốc là đếm số lượng hình chữ nhật con, với các cạnh song song với cạnh của khu rừng, chỉ chứa các ô rỗng (các ô vuông chứa \(0\)).

Để làm cho nhiệm vụ thêm phần thú vị, các pháp sư được yêu cầu cập nhật các thay đổi trạng thái của một ô vuông từ rỗng (\(0\)) thành chứa đá quý (\(1\)) hoặc ngược lại. Sau mỗi thay đổi, họ lại phải đếm lại số lượng hình chữ nhật con thỏa mãn yêu cầu.

Nhận thấy đây là một bài toán quá hóc búa, các pháp sư chỉ còn có thể trông cậy vào bạn.
Lưu ý: các cập nhật sẽ thật sự thay đổi giá trị của một ô và có ảnh hưởng về sau.

Input

  • Dòng đầu tiên chứa hai số nguyên \(n\) và \(q\) \((1 \leq n, q \leq 5000)\), lần lượt là kích thước bảng và số lượng truy vấn.
  • \(n\) dòng tiếp theo, mỗi dòng chứa một chuỗi ký tự \(0\) và \(1\) độ dài \(n\), mô tả trạng thái ban đầu của khu rừng.
  • \(q\) dòng cuối, mỗi dòng chứa hai số nguyên \(r\) và \(c\) \((1 \leq r, c \leq n)\), mô tả tọa độ của ô vuông thay đổi trạng thái trong truy vấn thứ \(i\).

Output

In ra \(q + 1\) dòng:

  • Dòng đầu tiên là số lượng hình chữ nhật con chỉ chứa các ô trống rỗng (\(0\)) trong trạng thái ban đầu của khu rừng.
  • Mỗi dòng trong \(q\) dòng tiếp theo ghi số lượng hình chữ nhật thỏa mãn yêu cầu sau mỗi lần thay đổi trạng thái của ô vuông.

Example

Test 1

Input
4 3
0001
0100
1000
0010
2 3
2 2
3 1
Output
29
23
31
45

Scoring

  • Có \(20\%\) số test ứng với \(n, q \leq 50\).
  • Có \(20\%\) số test khác ứng với \(n, q \leq 150\).
  • Có \(20\%\) số test khác ứng với \(n, q \leq 400\).
  • Có \(20\%\) số test khác ứng với \(n, q \leq 1000\).
  • Có \(20\%\) số test khác ứng với \(n, q \leq 5000\).

root

Câu 2. Xâu kí tự (6.0 điểm)

100 điểm

Cho xâu kí tự \(S\) chỉ chứa các kí tự IN HOA trong bảng chữ cái tiếng Anh.

Yêu cầu:
Tìm độ dài lớn nhất của xâu con liên tiếp không chứa một trong các kí tự 'A', 'N', 'H'.

Input

Vào từ tệp CAU2.INP gồm:

  • Dòng đầu tiên ghi số nguyên dương \(T\), là số lượng xâu \((T \le 10)\);
  • \(T\) dòng tiếp theo, mỗi dòng ghi một xâu có độ dài không quá \(10^5\) kí tự.

Output

Ghi ra tệp CAU2.OUT gồm \(T\) dòng, mỗi dòng một số nguyên là độ dài xâu con liên tiếp tìm được theo yêu cầu, nếu không có xâu con liên tiếp thỏa mãn thì ghi ra \(-1\).

Example

Test 1

Input
3
ABRBCDAB
LCKHABWCHTHUR
ANHA
Output
5
3
-1

Scoring

  • Có 30% số điểm có xâu đầu vào chỉ có một kí tự 'A' và không có 'N', 'H';
  • Có 30% số điểm có xâu đầu vào có một kí tự 'A', một kí tự 'H', không có kí tự 'N' và độ dài xâu \(\le 10^2\);
  • 40% số điểm còn lại không có ràng buộc gì thêm.
Xem thêm