6.B1. CTDL> bài Phân đoạn hoán vị
Phân đoạn hoán vị
Trong một ngày làm việc bình thường tại nhà máy, FullHouse Dev được giao một nhiệm vụ thú vị về xử lý dữ liệu sản xuất. Họ nhận được hai dãy số liệu và cần tìm cách phân tích chúng thành các phân đoạn hợp lý. Với tinh thần làm việc nghiêm túc, họ bắt đầu nghiên cứu bài toán này.
Bài toán
FullHouse Dev được cung cấp một mảng \(A\) gồm các số nguyên khác nhau và một mảng \(B\) là hoán vị của mảng \(A\). Nhiệm vụ của họ là tìm số phân đoạn tối đa có thể chia mảng \(B\) sao cho trong mỗi phân đoạn, các phần tử của mảng \(B\) là một hoán vị của các phần tử tương ứng trong mảng \(A\).
INPUT FORMAT:
- Dòng đầu tiên chứa số nguyên \(T\) - số lượng test case.
- Dòng đầu tiên của mỗi test case chứa số nguyên \(n\) - độ dài của mảng.
- Dòng thứ hai của mỗi test case chứa \(n\) số nguyên - các phần tử của mảng \(A\).
- Dòng thứ ba của mỗi test case chứa \(n\) số nguyên - các phần tử của mảng \(B\).
OUTPUT FORMAT:
- Với mỗi test case, in ra số phân đoạn tối đa có thể chia được trên một dòng mới.
Ràng buộc:
- \(1 \leq T \leq 10^5\)
- \(1 \leq n \leq 10^5\), tổng của \(n\) trong tất cả các test case \(\leq 10^5\)
- Mảng \(B\) là một hoán vị của mảng \(A\)
Ví dụ
INPUT
3
2
1 2
1 2
2
1 2
2 1
6
1 2 3 4 5 6
2 1 3 5 6 4
OUTPUT
2
1
3
Giải thích
Test case 1: Ta có thể chia mảng thành 2 phân đoạn: [1] và [2]. Trong đó [1] là hoán vị của [1], và [2] là hoán vị của [2].
Test case 2: Không thể chia thành nhiều phân đoạn, chỉ có thể giữ nguyên một phân đoạn [2,1] là hoán vị của [1,2].
Test case 3: Ta có thể chia thành 3 phân đoạn: [2,1], [3], và [5,6,4]. Trong đó [2,1] là hoán vị của [1,2], [3] là hoán vị của [3], và [5,6,4] là hoán vị của [4,5,6].
Comments