trang chủ / đề bài / pokearmy

Đội quân Pokémon

Đề bài

Mô tả

Cho dãy số nguyên đôi một phân biệt a1,a2,…,an.

Với mọi dãy con (không nhất thiết liên tiếp, không rỗng) ab1,ab2,…,abk với 1≤b1<b2<…<bk≤n, ta định nghĩa độ mạnh của dãy con đó là tổng đan dấu:

ab1−ab2+ab3−ab4+…

Bạn cần tìm độ mạnh lớn nhất có thể của một dãy con bất kỳ.

Sau đó có q truy vấn. Mỗi truy vấn cho hai chỉ số l và r — hãy hoán đổi al và ar, rồi in lại độ mạnh lớn nhất.

Dữ liệu vào

Dòng đầu chứa số nguyên dương t — số bộ test.

Với mỗi bộ test:

  • Dòng đầu chứa hai số n và q.
  • Dòng thứ hai chứa n số nguyên phân biệt a1,a2,…,an (1≤ai≤n).
  • q dòng tiếp theo, mỗi dòng chứa hai số li và ri (1≤li≤ri≤n).

Dữ liệu ra

Với mỗi bộ test, in ra q+1 số nguyên: độ mạnh lớn nhất trước khi có thao tác hoán đổi, và sau mỗi thao tác hoán đổi.

Ràng buộc

  • 1≤t≤103
  • 1≤n≤3·105
  • 0≤q≤3·105
  • 1≤ai≤n và các ai đôi một phân biệt trong mỗi bộ test.
  • Tổng n trên tất cả bộ test không vượt quá 3·105.
  • Tổng q trên tất cả bộ test không vượt quá 3·105.

Ví dụ

Input Output Giải thích
3
3 1
1 3 2
1 2
2 2
1 2
1 2
1 2
7 5
1 2 5 4 3 6 7
1 2
6 7
3 4
1 2
2 3
3
4
2
2
2
9
10
10
10
9
11
Bộ 1: dãy [1,3,2] cho độ mạnh 3; sau khi đổi a1 và a2 thì dãy là [3,1,2], chọn dãy con 3,1,2 cho 3−1+2=4. Bộ 3: ban đầu chọn 5−3+7=9; sau thao tác cuối, dãy là [1,4,2,5,3,7,6], chọn 4−2+5−3+7=11.
1
4 2
4 1 3 2
1 4
2 3
6
5
6
Ban đầu a=[4,1,3,2], chọn 4−1+3=6. Đổi a1,a4 ra [2,1,3,4], độ mạnh tốt nhất là 4 hoặc lấy chỉ phần tử 4 kết hợp với cực tiểu trước nó — đáp án là 5. Đổi tiếp a2,a3 ra [2,3,1,4], chọn 3−1+4=6.

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