1055 最長等差數列
基準時間限制:2 秒 空間限制:262144 kb 分值: 80 難度:5級演算法題
n個不同的正整數,找出由這些數組成的最長的等差數列。
例如:1 3 5 6 8 9 10 12 13 14
等差子數列包括(僅包括兩項的不列舉)
1 3 5
1 5 9 13
3 6 9 12
3 8 13
5 9 13
6 8 10 12 14
其中6 8 10 12 14最長,長度為5。
input
第1行:n,n為正整數的數量(3 <= n <= 10000)。
第2 - n+1行:n個正整數。(2<= a[i] <= 10^9)
output
最長等差數列的長度。
input示例
1013
5689
1012
1314
output示例
5
emmm最長等差數列,老厲害了。感覺第一次遇到從中間向兩邊掃的動態規劃。在爆棧的邊緣試探,
#include#include#include#include#include#define inf 0x3f3f3f3f
#define ll long long
const int maxn=10005;
using namespace std;
ll a[maxn];
short int dp[maxn][maxn];
int main()
sort(a,a+t);
for(int i=0;i=0;i--)
if(2*a[i]ans) ans=dp[q][i];
q--;
k++;
}} }
cout<
return 0;
}
51nod 1055 最長等差數列
原題鏈結 1055 最長等差數列 基準時間限制 2 秒 空間限制 262144 kb 分值 80 難度 5級演算法題 n個不同的正整數,找出由這些數組成的最長的等差數列。例如 1 3 5 6 8 9 10 12 13 14 等差子數列包括 僅包括兩項的不列舉 1 3 5 1 5 9 13 3 6 9...
51nod 1055 最長等差數列
n個不同的正整數,找出由這些數組成的最長的等差數列。例如 1 3 5 6 8 9 10 12 13 14 等差子數列包括 僅包括兩項的不列舉 1 3 5 1 5 9 13 3 6 9 12 3 8 13 5 9 13 6 8 10 12 14 其中6 8 10 12 14最長,長度為5。input ...
51nod 1055最長等差數列 dp
n個不同的正整數,找出由這些數組成的最長的等差數列。例如 1 3 5 6 8 9 10 12 13 14 等差子數列包括 僅包括兩項的不列舉 1 3 5 1 5 9 13 3 6 9 12 3 8 13 5 9 13 6 8 10 12 14 其中6 8 10 12 14最長,長度為5。因為沒看清題...