trang chủ / đề bài / dhbb23_btab

Bảng số

Đề bài

Mô tả

Cho mảng A gồm m phần tử (các phần tử được đánh số từ 1 đến m) và mảng B gồm n phần tử (các phần tử được đánh số từ 1 đến n), mỗi phần tử của hai mảng chỉ nhận một trong ba giá trị −1,0,1. Tiến hành tạo bảng C kích thước m×n, trong đó phần tử (i,j) nhận giá trị C[i][j]=A[i]×B[j] với 1≤i≤m và 1≤j≤n.

Một bảng con vuông kích thước s của bảng C có phần tử trái trên là (x,y) và phần tử phải dưới là (x+s−1,y+s−1) với 1≤x≤m−s+1 và 1≤y≤n−s+1 được gọi là bảng con vuông "cân bằng" nếu:

  1. Các phần tử thuộc đường chéo chính đều nhận giá trị bằng 1. Cụ thể, các phần tử (x,y),(x+1,y+1),…,(x+s−1,y+s−1) có giá trị bằng 1.
  2. Tổng tất cả các phần tử trong bảng con vuông bằng 0.

Yêu cầu: Cho hai mảng A và B, đếm số bảng con vuông "cân bằng" trong bảng C.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên dương m,n;
  • Dòng thứ hai gồm m số A[1],A[2],…,A[m] mô tả mảng A;
  • Dòng thứ ba gồm n số B[1],B[2],…,B[n] mô tả mảng B.

Dữ liệu ra

In ra một dòng chứa một số là số bảng con vuông "cân bằng" trong bảng C.

Ràng buộc

  • m,n≥1; m×n≤5×106;
  • A[i],B[j]∈{−1,0,1}.

Subtasks

  • Subtask 1 (20% số điểm): m,n≤30;
  • Subtask 2 (30% số điểm): m,n≤300;
  • Subtask 3 (30% số điểm): m,n≤1000;
  • Subtask 4 (20% số điểm): m×n≤5×106.

Ví dụ

Input Output Giải thích
3 4
1 -1 1
1 0 -1 1
1 Bảng C (hàng i ứng với A[i], cột j ứng với B[j]) gồm các hàng 1 0 -1 1; -1 0 1 -1; 1 0 -1 1. Chỉ có duy nhất một bảng con vuông "cân bằng" là bảng con kích thước 2 có phần tử trái trên là (2,3): đường chéo gồm C[2][3]=C[3][4]=1, tổng 1−1−1+1=0.
4 5
-1 1 -1 1
0 1 -1 1 -1
4 Bảng C gồm các hàng 0 -1 1 -1 1; 0 1 -1 1 -1; 0 -1 1 -1 1; 0 1 -1 1 -1. Có bốn bảng con vuông "cân bằng", đều có kích thước 2, với phần tử trái trên là (1,3), (2,4), (2,2) và (3,3). Bảng con kích thước 3 trái trên (1,3) hay (2,2) có đường chéo toàn 1 nhưng tổng khác 0.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0