Học tại trường Chưa có thông tin
Đến từ Hà Nội , Chưa có thông tin
Số lượng câu hỏi 8
Số lượng câu trả lời 10
Điểm GP 0
Điểm SP 3

Người theo dõi (0)

Đang theo dõi (0)


Bạn có một hoán vị: một mảng a = [a1, a2,…, an] gồm các số nguyên phân biệt từ 1 đến n. Độ dài của hoán vị n là số lẻ. Hãy xem xét thuật toán sắp xếp hoán vị theo thứ tự tăng dần sau đây. Thủ tục trợ giúp của thuật toán, f (i) , nhận một đối số duy nhất i (1≤i≤n − 1) và thực hiện như sau. Nếu ai> ai + 1, giá trị của ai và ai + 1 được trao đổi. Nếu không, hoán vị không thay đổi. Thuật toán bao gồm các lần lặp, được đánh số bằng các số nguyên liên tiếp bắt đầu bằng 1 . Trên tôi -lặp lại thứ, thuật toán thực hiện như sau:

nếu tôi là số lẻ, gọi f (1), f (3),…, f (n − 2) ;

nếu tôi là chẵn, gọi f (2), f (4),…, f (n − 1) .

Có thể chứng minh rằng sau một số lần lặp lại hữu hạn, hoán vị sẽ được sắp xếp theo thứ tự tăng dần. Sau bao nhiêu lần lặp lại điều này sẽ xảy ra lần đầu tiên?

Input:

Đầu vào Mỗi thử nghiệm chứa nhiều trường hợp thử nghiệm. Dòng đầu tiên chứa số lượng trường hợp thử nghiệm t (1≤t≤10 ^ 4 ). Sau đây là mô tả các trường hợp kiểm thử. Dòng đầu tiên của mỗi trường hợp kiểm tra chứa một số nguyên n (3≤n≤2⋅10 ^ 5−1; n là lẻ) - độ dài của hoán vị. Dòng thứ hai chứa n các số nguyên phân biệt a1, a2,…, an (1≤ai≤n ) - hoán vị chính nó. Đảm bảo rằng tổng của n trên tất cả các trường hợp thử nghiệm không vượt quá 2⋅10 ^ 5−1

Output:

. Đầu ra Đối với mỗi trường hợp thử nghiệm, in số lần lặp lại mà sau đó hoán vị sẽ được sắp xếp theo thứ tự tăng dần lần đầu tiên. Nếu hoán vị đã cho đã được sắp xếp, hãy in ra 0.

Input:

3
3
3 2 1
7
4 5 7 1 3 2 6
5
1 2 3 4 5


ouput:

3

5

0

Ghi chú Trong trường hợp thử nghiệm đầu tiên, hoán vị sẽ thay đổi như sau: sau 1 lần lặp -st: [2,3,1] ; sau 2 -nd lần lặp: [2,1,3] ; sau 3 -lặp lại thứ ba: [1,2,3] . Trong trường hợp thử nghiệm thứ hai, hoán vị sẽ thay đổi như sau: sau 1 lần lặp -st: [4,5,1,7,2,3,6] ; sau 2 -nd lần lặp: [4,1,5,2,7,3,6] ; sau 3 -lặp lại thứ ba: [1,4,2,5,3,7,6] ; sau 4 -lần lặp thứ: [1,2,4,3,5,6,7] ; sau 5 -lặp lại thứ: [1,2,3,4,5,6,7] . Trong trường hợp thử nghiệm thứ ba, hoán vị đã được sắp xếp và câu trả lời là 0 .

Giúp Mình Với

Lester và Delbert làm việc tại một công ty điện tử. Họ hiện đang nghiên cứu một thành phần vi mạch dùng để kết nối hai phần độc lập của một siêu máy tính lớn. Thành phần này được xây dựng trên đầu của một breadboard - một cơ sở giống như lưới cho một vi mạch. Breadboard có n hàng và m cột, và mỗi giao điểm hàng-cột chứa một nút. Ngoài ra, ở mỗi bên của breadboard có các cổng có thể được gắn vào các nút liền kề. Bên trái và bên phải mỗi bên có n cổng, mỗi bên trên và dưới có m cổng. Mỗi cổng được kết nối ở bên ngoài với một trong các bộ phận được bắc cầu bởi bảng mạch, và có màu đỏ hoặc xanh lam tương ứng.

Các cổng có thể được kết nối bằng dây đi bên trong breadboard. Tuy nhiên, có một số quy tắc cần tuân theo: Mỗi dây phải kết nối một cổng màu đỏ với một cổng màu xanh lam và mỗi cổng phải được kết nối với nhiều nhất một dây. Mỗi phần của dây nên nằm ngang hoặc dọc và chỉ có thể quay ở một trong các nút. Để tránh nhiễu, dây không thể có các phần chung có độ dài khác 0 (nhưng có thể có các nút chung). Ngoài ra, một dây không thể bao phủ cùng một đoạn có chiều dài khác 0 hai lần. Dung lượng của breadboard là số lượng kết nối dây màu xanh lam đỏ lớn nhất có thể được thực hiện theo các quy tắc ở trên. Ví dụ: breadboard ở trên có dung lượng 7 và một cách để tạo bảy kết nối được minh họa bên dưới.

Cho đến thời điểm này các tuyên bố của cả hai phiên bản là giống hệt nhau. Sự khác biệt theo sau. Thông thường, các thông số kỹ thuật của dự án thay đổi rất nhiều trong quá trình phát triển, vì vậy màu sắc của các cổng vẫn chưa được cố định. Có q các sửa đổi để xử lý, mỗi trong số chúng có dạng "màu sắc của tất cả các cổng trong một phạm vi liền kề dọc theo một trong các bên được chuyển đổi (màu đỏ trở thành xanh lam và xanh lam trở thành đỏ)". Tất cả các sửa đổi đều tồn tại lâu dài, nghĩa là các sửa đổi trước đó không được hoàn tác trước khi sửa đổi tiếp theo được thực hiện. Để ước tính mức độ tồi tệ của những thay đổi, Lester và Delbert cần phải tìm dung lượng breadboard sau mỗi lần thay đổi. Giúp họ làm điều này một cách hiệu quả.

Đầu vào Dòng đầu tiên chứa ba số nguyên n, m, q (1≤n, m≤10 ^ 5, 0≤q≤10 ^ 5 ) - số hàng và cột của bảng mạch, và số lượng sửa đổi tương ứng. Bốn dòng tiếp theo mô tả màu ban đầu của các cổng. Mỗi ký tự trong các dòng này là R hoặc B, tùy thuộc vào màu của cổng tương ứng. Hai dòng đầu tiên chứa n mỗi ký tự và mô tả các cổng ở bên trái và bên phải tương ứng từ trên xuống dưới. Hai dòng cuối chứa m mỗi ký tự và mô tả các cổng ở phía trên và phía dưới tương ứng từ trái sang phải. Q tiếp theo dòng mô tả các sửa đổi. Mỗi dòng này chứa một ký tự s, theo sau là hai số nguyên l và r. Nếu s là L hoặc R, việc sửa đổi liên quan đến các cổng ở bên trái / bên phải tương ứng, l và r thỏa mãn 1≤l≤r≤n, và các cổng ở hàng giữa l và r (bao gồm) trên các màu chuyển đổi bên. Tương tự, nếu s là U hoặc D, thì 1≤l≤r≤m và các cổng trong cột giữa l và r (bao gồm) ở phía trên / dưới tương ứng chuyển đổi màu sắc.

Đầu ra In q + 1 số nguyên, một trên mỗi dòng - dung lượng bảng mạch sau khi sửa đổi 0,…, q đã được thực hiện đối với màu ban đầu.

INPUT

4 5 4
BBRR
RBBR
BBBBB
RRRRR
L 2 3
R 3 4
U 1 5
D 1 5

OUTPUT

7
7
9
4
9