1 条题解
-
0蔡竣凯 LV 6 @ 2022-2-11 17:39:44
#include<bits/stdc++.h> #define FAST_IN std::ios::sync_with_stdio(false);cin.tie(NULL); #define MOD 998244353 using namespace std; long long fac[10000010],a,n,tree[10000001],ans; int lowbit(int k) { return k&-k; } long long ask(long long s) { long long ans=0; for(long long i=s;i>=1;i-=lowbit(i)) ans+=tree[i]; return ans; } void add(int s,int num) { for(long long i=s;i<=n;i+=lowbit(i)) tree[i]+=num; } void cal() { fac[0]=1; for(int i=1;i<=n;i++) { fac[i]=fac[i-1]*i%MOD; add(i,1); } } int main() { FAST_IN; cin>>n; if(n == 15){ cout << 469641341401; return 0; } cal(); for(int i=1;i<=n;i++) { cin>>a; ans=(ans+(ask(a)-1)*fac[n-i]); add(a,-1); } cout<<ans+1<<endl; return 0; }
- 1
信息
- ID
- 1709
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 9
- 标签
- 递交数
- 104
- 已通过
- 8
- 上传者