Finals F. Clique in the Divisibility Graph

题目链接

题意:给你n个数,求一个最长子序列,要求是这个子序列中任意两个数,,其中一个一定是另外一个的倍数

代码如下:

#include <stdio.h>#include <string.h>#include <iostream>#include <algorithm>const int N = 1E6+10;using namespace std;int dp[N], a;int main(){int n, maxn;while(~scanf("%d", &n)){memset(dp, 0, sizeof(dp));maxn = 0;for(int i = 0; i < n; i++){scanf("%d", &a);dp[a]++;maxn = max(maxn, dp[a]);for(int j = a * 2; j <= N; j += a)dp[j] = max(dp[j], dp[a]);}printf("%d\n", maxn);}}

版权声明:本文为博主原创文章,未经博主允许不得转载。

陪我们走过一段别人无法替代的记忆。

Finals F. Clique in the Divisibility Graph

相关文章:

你感兴趣的文章:

标签云: