trang chủ / đề bài / dhbb22_table

Thao tác trên bảng

Đề bài

Mô tả

Cấu trúc dữ liệu là nội dung rất quan trọng trong khoa học máy tính. Trong chương trình giảng dạy cho các lớp chuyên Tin, nội dung cấu trúc dữ liệu được đưa vào nhiều chuyên đề. Một bài toán thao tác trên bảng được dùng để kiểm tra khả năng tổ chức dữ liệu và linh hoạt trong xử lí như sau: Cho một bảng số gồm m hàng n cột, các hàng được đánh số từ trên xuống từ 1 đến m, các cột được đánh số từ trái sang phải từ 1 đến n, ô nằm giao giữa hàng i (1≤i≤m) và cột j (1≤j≤n) gọi là ô (i,j) và có giá trị ban đầu là aij. Cần thực hiện Q thao tác trên bảng số, mỗi thao tác thuộc một trong hai loại:

  • Thao tác loại 1 có dạng: 1 x y u v w có nghĩa là với mỗi ô nằm trong hình chữ nhật có ô trái trên là ô (x,y) và ô phải dưới là ô (u,v) sẽ được cộng thêm w;
  • Thao tác loại 2 có dạng: 2 x y u v có nghĩa là cần đưa ra tổng giá trị của các ô nằm trong hình chữ nhật có ô trái trên là ô (x,y) và ô phải dưới là ô (u,v).

Yêu cầu: Thực hiện các thao tác trên bảng số theo kịch bản.

Dữ liệu vào

  • Dòng đầu chứa ba số nguyên dương m,n,Q (m,n≤500);
  • Dòng thứ i (1≤i≤m) trong m dòng sau chứa n số nguyên không âm ai1,ai2,…,ain (aij≤109);
  • Dòng thứ k (1≤k≤Q) trong Q dòng sau mô tả thao tác thứ k. Nếu là thao tác loại 1, dòng gồm sáu số nguyên 1,x,y,u,v,w (1≤x≤u≤m; 1≤y≤v≤n; 0≤w≤109), nếu là thao tác loại 2, dòng gồm năm số nguyên 2,x,y,u,v (1≤x≤u≤m; 1≤y≤v≤n).

Dữ liệu ra

In ra một số dòng, mỗi dòng tương ứng là câu trả lời cho thao tác loại 2 lần lượt xuất hiện trong dữ liệu vào.

Ràng buộc

  • 1≤m,n≤500; 1≤Q≤105.
  • 0≤aij≤109; 0≤w≤109.
  • Dữ liệu đảm bảo câu trả lời của mỗi thao tác loại 2 không vượt quá 1018.

Subtasks

Điểm được tính theo từng test.

  • Có 30% số lượng test ứng với 30% số điểm thỏa mãn: Q≤100;
  • Có 30% số lượng test khác ứng với 30% số điểm thỏa mãn: Q≤105 và tất cả các thao tác loại 1 xuất hiện trước các thao tác loại 2;
  • Có 20% số lượng test khác ứng với 20% số điểm thỏa mãn: Q≤104;
  • Có 20% số lượng test còn lại ứng với 20% số điểm thỏa mãn: Q≤105.

Ví dụ

Input Output Giải thích
2 3 3
0 0 0
0 0 0
2 1 1 2 3
1 1 1 2 3 1
2 1 1 2 2
0
4
Ban đầu mọi ô bằng 0 nên tổng cả bảng là 0. Sau khi cộng 1 vào cả bảng, hình chữ nhật từ (1,1) đến (2,2) có 4 ô, mỗi ô bằng 1, tổng là 4.
3 3 4
1 2 3
4 5 6
7 8 9
1 2 2 3 3 10
2 1 1 3 3
1 1 1 1 3 5
2 1 2 2 3
85
46
Ví dụ bổ sung (không có trong đề gốc). Cộng 10 vào 4 ô của hình chữ nhật từ (2,2) đến (3,3): tổng cả bảng là 45+40=85. Sau đó hàng 1 thành 6,7,8; hình chữ nhật từ (1,2) đến (2,3) gồm các ô 7,8,15,16, tổng là 46.

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