牛客挑战赛46 C题题解:f[i][k][j]表示前i个k个逆序对且最大数的位置在j处的数目,第一维需要用滚动数组优化,但是求f[i][k][j]的时候会发现需要对前i-1长度排列的最大数的位置进行枚举,这一层可以用以个sum[i][k][j]优化,sum[i][k][j]表示长度为i的排列最大数的位置从1到j并且超级逆序对为k的个数总和 #include<bits/stdc++.h> using namespace std; typedef long long LL; const int maxn=2e6+10; const LL mod=998244353; LL n,K; L...