Đ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

Trộn dãy

Dễ

  • 100 Điểm
  • 0% Tỉ lệ AC
  • 0 Số AC
  • 256M Bộ nhớ giới hạn
  • 1.0s Giới hạn thời gian

Cho hai dãy số nguyên dương độ dài \(n\):
\(a=(a_1,a_2,\dots,a_n)\) và \(b=(b_1,b_2,\dots,b_n)\). Biết rằng các phần tử của hai dãy đều là các số nguyên dương thuộc tập \(\{1,2,\dots,n\}\).

Ta định nghĩa một phép biến đổi như sau: chọn hai chỉ số \(i\) và \(j\) thỏa \(1\le i\le j\le n\), rồi hoán đổi hai đoạn con
$
a_i,a_{i+1},\dots,a_j
\quad\text{và}\quad
b_i,b_{i+1},\dots,b_j
$
giữa hai dãy. Sau phép hoán đổi thu được hai dãy mới:
$
a' = (a_1,\dots,a_{i-1},\,b_i,\dots,b_j,\,a_{j+1},\dots,a_n),
$
$
b' = (b_1,\dots,b_{i-1},\,a_i,\dots,a_j,\,b_{j+1},\dots,b_n).
$

Nếu sau khi thực hiện phép biến đổi như trên có ít nhất một trong hai dãy \(a'\) hoặc \(b'\) là một hoán vị của tập \(\{1,2,\dots,n\}\) thì ta nói phép biến đổi đó tạo ra một hoán vị trộn.

Yêu cầu: Với mỗi test, hãy xác định có bao nhiêu cặp \((i,j)\) khác nhau sẽ tạo ra hoán vị trộn theo định nghĩa trên.

\InputFile

  • Dòng đầu tiên là số nguyên \(t\) (\(t\le 5\)) --- số test.
  • Mỗi test gồm ba dòng:

  • Dòng đầu của test chứa số nguyên \(n\) (\(1\le n \le 2\cdot 10^5\)).

  • Dòng tiếp theo chứa \(n\) số nguyên \(a_1,a_2,\dots,a_n\) (mọi \(a_i \le n\)).
  • Dòng tiếp theo chứa \(n\) số nguyên \(b_1,b_2,\dots,b_n\) (mọi \(b_i \le n\)).

\OutputFile

  • Ghi ra \(t\) dòng, mỗi dòng là một số nguyên --- số cách (số cặp \((i,j)\) khác nhau) có thể tạo ra hoán vị trộn cho test tương ứng.

\Scoring

  • Subtask 1 (30%): \(n \le 100\).
  • Subtask 2 (30%): \(n \le 5000\).
  • Subtask 3 (40%): không có ràng buộc gì thêm.

Example

Test 1

Input
2
6
3 2 1 4 4 5
2 3 3 4 6 5
2
1 2
1 2
Output
8
3

Bình luận

Chưa có bình luận nào.