2687 问题 D: 蓝桥杯2022年第十三届省赛真题-全排列的价值

时间限制: 1s 内存限制: 512MB 提交: 3929 解决: 776
题目描述

对于一个排列 A = (a1, a2, · · · , an),定义价值 ci 为 a1 至 ai−1 中小于 ai 的数的个数,即 bi = |{aj | j < i, aj < ai}|。定义 A 的价值为蓝桥杯2022年第十三届省赛真题全排列的价值

给定 n,求 1 至 n 的全排列中所有排列的价值之和。

输入
输入一行包含一个整数 n 。
输出
输出一行包含一个整数表示答案,由于所有排列的价值之和可能很大,请输出这个数除以 998244353 的余数。
样例输入
3
样例输出
9
提示

1 至 3 构成的所有排列的价值如下:

(1, 2, 3) : 0 + 1 + 2 = 3 ;

(1, 3, 2) : 0 + 1 + 1 = 2 ;

(2, 1, 3) : 0 + 0 + 2 = 2 ;

(2, 3, 1) : 0 + 1 + 0 = 1 ;

(3, 1, 2) : 0 + 0 + 1 = 1 ;

(3, 2, 1) : 0 + 0 + 0 = 0 ;

故总和为 3 + 2 + 2 + 1 + 1 = 9。 

对于 40% 的评测用例,n ≤ 20 ;

对于 70% 的评测用例,n ≤ 5000 ;

对于所有评测用例,2 ≤ n ≤ 106 。 

比赛公告

第十三届蓝桥杯大赛软件赛省赛 Java 大学 A 组
C题

求和

D题

GCD

E题

蜂巢

F题

全排列的价值

G题

青蛙过河

H题

因数平方和

I题

最优清零方案

J题

推导部分和


注意事项:

1. 不要使用 package 语句。

2. 选手代码的主类名必须为:Main,否则会被判为无效代码。

3. 如果程序中引用了类库,在提交时必须将 import 语句与程序的其他部分同时提交。

4. 只允许使用 Java 自带的类库。

5. 提交时,注意选择使用Java语言。


比赛结束,也可以提交,见题集2022年第十三届蓝桥杯大赛软件类省赛Java大学A组真题