【CF 566F】 Clique in the Divisibility Graph

2148 단어 dp
【CF 566F】 Clique in the Divisibility Graph
최대 단 모형의 dp수로 약분할 수 있는 대수간에 길이 있다 최대 단(최대 완전 서브맵)은 가장 긴 공공 서브 서열 방법으로 가장 긴 길을 dp로 낸다. 한 수의 약수도 이 수의 약수이기 때문에 연결할 수만 있다면 완전 서브맵이다.
코드는 다음과 같습니다.
#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <queue>
#include <vector>
#include <cmath>
#define LL long long
#define INF 0x3f3f3f3f

using namespace std;

int dp[1111111];

int main()
{
    memset(dp,0,sizeof(dp));
    int n,x,mm = 0,i,j;
    scanf("%d",&n);
    for(i = 0; i < n; ++i)
    {
        scanf("%d",&x);
        mm = max(mm,dp[x]+1);
        for(j = 2; j*x <= 1000000; ++j)
        {
            dp[j*x] = max(dp[j*x],dp[x]+1);
        }
        dp[x]++;
    }
    printf("%d
"
,mm); return 0; }

좋은 웹페이지 즐겨찾기