trang chủ / bài tập / happyperm

Hoán vị hạnh phúc

Đề bài

Mô tả

Cho hoán vị p1,p2,,pn của {1,2,,n}. Một đoạn [l,r] (với 1lrn) được gọi là đoạn đẹp nếu

max(pl,pl+1,,pr)min(pl,pl+1,,pr)=rl.

Nói cách khác, các phần tử trong đoạn tạo thành một dãy số nguyên liên tiếp (theo thứ tự nào đó). Đặc biệt, mọi đoạn [i,i] đều là đoạn đẹp.

Độ hạnh phúc của hoán vị p là số cặp (l,r)[l,r] là đoạn đẹp.

Cho hai số nguyên nm. Hãy tính tổng độ hạnh phúc của tất cả n! hoán vị độ dài n, lấy dư cho số nguyên tố m.

Dữ liệu vào

Một dòng duy nhất chứa hai số nguyên nm.

Dữ liệu ra

In ra một số nguyên r (0r<m) — tổng độ hạnh phúc lấy dư cho m.

Ràng buộc

  • 1n250000
  • 108m109, m là số nguyên tố.

Ví dụ

Input Output Giải thích
1 993244853 1 Chỉ có hoán vị [1] với đúng 1 đoạn đẹp.
2 993244853 6 Hai hoán vị [1,2][2,1], mỗi cái có 3 đoạn đẹp ⇒ tổng 6.
3 993244853 32 Sáu hoán vị độ dài 3 cho tổng độ hạnh phúc 6+5+5+5+5+6=32.
2020 437122297 265955509

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0