0
已解决
#include<iostream>
#include<string>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<bits/stdc++.h>
using namespace std;
int a[100001],f[100001];
int main()
{
int n;
cin>>n;
int k;
cin>>k;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
for(int i=1;i<=n;i++)
{
f[i]=1;
for(int j=1;j<i;j++)
{
if(a[i]-k==a[j])
{
f[i]=max(f[j]+1,f[i]);
}
}
}
int maxn=0;
for(int i=1;i<=n;i++)
{
if(f[i]>=maxn)
{
maxn=f[i];
}
}
cout<<maxn;
return 0;
}
怎么减少时间复杂度?
求大佬!!@王子健!!
吕牧原在2020-07-28 16:46:31追加了内容
不许发代码!!只要动态规划的思路
0
0
0