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

Nối hoán vị

Đề bài

Mô tả

Cho số nguyên dương n. Xét tất cả các hoán vị của các số nguyên từ 1 đến n theo thứ tự từ điển, rồi nối chúng lại thành một dãy lớn p. Ví dụ với n=3:

p=[1,2,3,1,3,2,2,1,3,2,3,1,3,1,2,3,2,1]

Độ dài của dãy pn·n!.

Với cặp chỉ số 1ijn·n!, dãy (pi,pi+1,,pj) được gọi là một đoạn con của p, có độ dài ji+1 và tổng bằng k=ijpk.

Hãy đếm số đoạn con của p có độ dài n và tổng bằng n(n+1)2. Vì kết quả có thể rất lớn, hãy in ra phần dư khi chia cho 998244353.

Dữ liệu vào

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

Dữ liệu ra

In ra một số nguyên duy nhất là số đoạn con độ dài n có tổng bằng n(n+1)2, theo modulo 998244353.

Ràng buộc

  • 1n106

Ví dụ

Input Output Giải thích
3 9 16 đoạn con độ dài 3, với các tổng lần lượt là 6,6,7,6,7,5,6,6,8,6,7,5,6,6,7,6. Do n(n+1)2=6, đáp án là 9.
4 56 Dãy p có độ dài 4·4!=96, trong đó có 56 đoạn con độ dài 4 có tổng bằng 10.
10 30052700 Kết quả đã được lấy theo modulo 998244353.

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