一个小问题

P4933 大师

```cpp #include<iostream> #include<algorithm> #include<cstring> #include<cstdio> #include<cmath> #include<map> #include<queue> #include<stack> #include<queue> #include<set> #include<iomanip> using namespace std; const int MAXN=1e6+10,mod=998244353; int h[MAXN],g[MAXN],f[MAXN]; int n,ans,maxx,minn=0x3f3f3f3f; int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>h[i]; // g[h[i]]++; maxx=max(maxx,h[i]); minn=min(minn,h[i]); } for(int i=-(maxx-minn);i<=(maxx-minn);i++){ for(int j=1;j<=n;j++){ g[h[j]]=0; } for(int j=1;j<=n;j++){ f[j]=g[h[j]-i]; f[j]%=mod; g[h[j]]=g[h[j]]+f[j]+1; g[h[j]]%=mod; ans+=f[j]; ans%=mod; } } cout<<(ans+n)%mod; } ```
by 住在隔壁小莘 @ 2022-11-11 16:46:46


公差,不是方差
by 住在隔壁小莘 @ 2022-11-11 16:59:06


想出来了,是少了长度为一的情况
by 住在隔壁小莘 @ 2022-11-11 17:03:52


|