对于一个排列 A = (a1, a2, · · · , an),定义价值 ci 为 a1 至 ai−1 中小于 ai 的数的个数,即 bi = |{aj | j < i, aj < ai}|。定义 A 的价值为。
给定 n,求 1 至 n 的全排列中所有排列的价值之和。
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 。
第十三届蓝桥杯大赛软件赛省赛 C/C++ 研究生组 |
|
---|---|
C题 |
|
D题 | |
E题 | |
F题 | |
G题 | |
H题 | |
I题 | |
J题 |
注意事项:
1. 对于编程题目,要求选手给出的解答完全符合 GNU C/C++ 标准,不能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的 API。
2. 代码中允许使用 STL 类库。
3. main 函数结束必须返回 0。
4. 所有依赖的函数必须明确地在源文件中 #include
5. 提交时,注意选择使用C或C++语言。
比赛结束也可以提交,见题集2022年第十三届蓝桥杯大赛软件类省赛C/C++研究生组真题