Codeforces 264B. Good Sequences
发布日期:2021-05-08 22:04:08 浏览次数:19 分类:精选文章

本文共 784 字,大约阅读时间需要 2 分钟。

题意:称递增的且相邻数不互质的数列为好数列,给出一个数列,求出最长的好数列子列长度

例如 [2 4 6 9] [2 6 10 15 21] …etc
思路:建立一个二维数组,维护每个数的因子和它自己,然后遍历数列中每个数字,并且更新每个因子目前能获得的最长值,每步都更新一次最大值作为答案

#pragma GCC optimize("Ofast")#pragma GCC target("avx,avx2,fma")#pragma GCC optimization ("unroll-loops")#include
using namespace std;const int maxn=1e5+5;vector
s[maxn+5];int k=1;void solve(){ for(int i=2;i<=maxn;i++) { if(!s[i].size()) { for(int j=i;j<=maxn;j+=i)s[j].push_back(i); } }}int a[maxn];int dp[maxn];int main(){ ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); int n; cin>>n; solve(); for(int i=1;i<=n;i++){ cin>>a[i]; } int ans=0; for(int i=1;i<=n;i++){ int ii=a[i]; int cur=1; for(int j=0;j
上一篇:codeforces1446B. Catching Cheaters
下一篇:codeforces255C.Almost Arithmetical Progression

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2025年04月17日 14时34分46秒