Nội dung Bài tập
Mã:
HOANVITACH
Tên:
Hoán vị có thể tách
Dạng thi:
acm
Thang điểm:
1 điểm
Giới hạn thời gian:
2 giây
Giới hạn bộ nhớ:
512 MB
Được tạo bởi:
Shido
Ban đầu , ta có 1 mảng có hoán vị có kích thước N (1 mảng với kích thước N trong đó số nguyên từ 1 đến N xuất hiện đúng 1 lần )
Ta thực hiện Q hành động . Trong hành động thứ i :
      -  Chọn mảng mà có ít nhất 2 phần tử 
      -   Chia thành 2 mảng không bị rỗng ( tiền tố và hậu tố)
      -   Viết 2 số nguyên Li và Ri sao cho Li là phần tử lớn nhất ở bên trái sau khi chia và Ri là phần tử lớn nhất bên phải
      -   Xóa mảng đã chọn khỏi nhóm mảng có thể sử dụng và thêm vào phần nhóm kết quả 
Giả sử mảng ban đầu là [6,3,4,1,2,5] và chúng ta thực hiện các thao tác :
     1. Chọn mảng [6,3,4,1,2,5]  và tách ra [6,3] và [4,1,2,5] . Sau đó ghi L1 = 6 và R1 =5 và ta có mảng [6,3] và [4,1,2,5] 
     2. Chọn mảng [4,1,2,5]  và tách ra [4,1,2] và [5] . Sau đó ghi L2 = 4 và R2 = 5 và ta có mảng [6,3] , [4,1,2] ,[5]
     3. Chọn mảng [4,1,2]  và tách ra [4] và [1,2] . Sau đó ghi L3 =4 và R3 = 2 và ta có mảng [6,3] , [4] , [1,2] , [5] 
 
Ta có 2 con số nguyên N và Q và 2 chuỗi gồm [L1,L2,..,LQ] và [R1,R2,...,RQ] . Hoán vị với kích thước N được coi là hợp lệ nếu ta có thể biểu diễn Q hành động và các hành động đã cho với chuỗi [L1,L2,...LQ] và [R1,R2,...,RQ
Tính số hoán vị hợp lệ 

   Input 
   - Dòng đầu gồm hai số nguyên N và Q ( 1 <= Q< N <= 3.105)
   - Dòng thứ hai gồm Q số nguyên L1 , L2 , ... , LQ (1 <= Li <= N)
   - Dòng thứ ba gồm Q số nguyên R1 , R2 , ... ,RQ (1 <= Ri <= N)
   - Phải tồn tại ít nhất 1 hoán vị để tạo ra các chuỗi đã cho [L1,L2,...,LQ] và [R1,R2,...RQ]

   Output
    - Một số nguyên duy nhất - số hoán vị hợp lệ , lấy modulo 998244353

Ví dụ 1:

Input

Output

6 3

6 4 4

5 5 2

30




 


Ví dụ 2:

Input

Output

10 1

10 

9

1814400







Ví dụ 3:

Input

Output

4 1

4












    Quảng cáo
       Ngôn ngữ : 

       Theme : 
Mời bạn soạn code



		



      Ai có thể xem bài này : 

Thông tin



Phần thảo luận