Luogu4933 大师
比较水的DP qwq
一开始想枚举公差\(d\), 后来发现直接暴力统计初始化都不用qwq
\(CODE:\)
#include<iostream>
#include<cstdio>
#define ll long long
#define maxn 1001
#define maxm 40001
#define z 20000
using namespace std;
ll f[maxn][maxm];
ll ans;
int c[maxm];
int h[maxn];
int qr(){
int f=1, x=0;
char ch=getchar();
for(;!isdigit(ch); ch=getchar()) if(ch=='-') f=-1;
for(; isdigit(ch); ch=getchar()) x=x*10+ch-48;
return x*f;
}
int main(){
int n;
n=qr();
for(int i=1; i<=n; i++)
h[i]=qr();
for(int i=1; i<=n; i++){
ans++;//单个的情况
for(int j=1; j<i; j++){
f[i][h[i]-h[j]+z]+=f[j][h[i]-h[j]+z]+1;
f[i][h[i]-h[j]+z]%=998244353;
ans+=f[j][h[i]-h[j]+z]+1;
ans%=998244353;
}
}
printf("%lld", ans);
return 0;
}
不如吃茶去