trang chủ / bài tập / ndsubarr

Đếm đoạn con không giảm

Đề bài

Mô tả

Cho dãy số nguyên dương a1,a2,,an. Bạn cần xử lý q truy vấn thuộc hai dạng:

  • 1 x y — Cập nhật ax:=y.
  • 2 l r — Đếm số cặp (p,q) thỏa mãn lpqr và đoạn con ap,ap+1,,aqkhông giảm, tức là apap+1aq.

Với mỗi truy vấn dạng 2, in ra số lượng cặp tìm được.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nq.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an.
  • q dòng tiếp theo, mỗi dòng mô tả một truy vấn theo định dạng trên.

Dữ liệu ra

Với mỗi truy vấn dạng 2, in ra một dòng chứa câu trả lời.

Ràng buộc

  • 1n,q2·105
  • 1ai109
  • Với truy vấn dạng 1: 1xn, 1y109.
  • Với truy vấn dạng 2: 1lrn.
  • Có ít nhất một truy vấn dạng 2.

Ví dụ

Input Output Giải thích
5 6
3 1 4 1 5
2 2 5
2 1 3
1 4 4
2 2 5
1 2 6
2 2 5
6
4
10
7
Truy vấn đầu tiên (l=2, r=5): các đoạn con không giảm là [2,2], [3,3], [4,4], [5,5], [2,3][4,5], tổng 6 cặp.
10 6
1 9 15 26 8 4 25 24 23 14
2 8 9
2 8 8
2 8 10
2 6 7
2 5 5
2 1 7
2
1
3
3
1
14
Truy vấn cuối (l=1, r=7): đoạn không giảm dài nhất là a1..a4=[1,9,15,26](52)=10 đoạn con, cộng các đoạn con khác cho tổng 14.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0