不大难的dp,暴力拆一下约数然后按照约数来统计即可.

注意:vector 很慢,所以一定特判一下,如果没有该数,就不要添加.

Code:

#include <bits/stdc++.h>
#define N 1000005
#define setIO(s) freopen(s".in","r",stdin)
using namespace std;
vector<int>v[N];
int prime[N],f[N],g[N],A[N];
bool vis[N],go[N];
int main()
{
// setIO("input");
int n,L,i,j,tot=0,M=0;
scanf("%d%d",&n,&L);
for(i=1;i<=n;++i) scanf("%d",&A[i]), go[A[i]]=1;
for(i=2;i<N;++i)
{
if(!vis[i]) prime[++tot]=i;
for(j=1;j<=tot&&prime[j]*i<N;++j)
{
vis[i*prime[j]]=1;
if(i%prime[j]==0) break;
}
}
for(i=L;i<N;++i) for(j=i;j<N;j+=i) if(go[j])v[j].push_back(i);
for(i=1;i<=n;++i)
{
int c=A[i],mx=0;
for(j=0;j<v[c].size();++j)
{
int cur=v[c][j];
++g[cur];
mx=max(mx, g[cur]);
}
for(j=0;j<v[c].size();++j)
{
int cur=v[c][j];
g[cur]=mx;
}
M=max(M,mx);
}
printf("%d\n",M);
return 0;
}

  

最新文章

  1. c#socket编程基础
  2. 深入浅出设计模式——解释器模式(Interpreter Pattern)
  3. Leetcode 之Convert Sorted List to Binary Search Tree(55)
  4. android 4.4 状态栏隐藏
  5. How to add alias on Mac(It&#39;s common for most system)
  6. 201521123039《java程序设计》第十四周学习总结
  7. linux内存源码分析 - 内存池
  8. 多项式乘法(FFT)学习笔记
  9. markdown 基本语法(转载)
  10. TCP/IP协议 模型
  11. 因微信SSJD分享接口升级,分享变化
  12. Android学习笔记----Java中的字符串比较
  13. 【洛谷】【最小生成树】P1536 村村通
  14. mysql的完整卸载
  15. mysql正则表达式,实现多个字段匹配多个like模糊查询
  16. C#中使用NLua z
  17. 最小生成树(prim)
  18. nginx解析漏洞
  19. appium+python自动化测试真机测试时报错“info: [debug] Error: Could not extract PIDs from ps output. PIDS: [], Procs: [&quot;bad pid &#39;uiautomator&#39;&quot;]”
  20. CRUD

热门文章

  1. 关于springboot的日志logging.file和logging.path的配置问题
  2. Codeforces 1247C. p-binary
  3. Angular6如何引入jQuery-knob
  4. JAVA中ArrayList重写比较方法
  5. jquery.serializejson.min.js的妙用
  6. vue 实现textarea展示时自动换行
  7. WinPE基础知识之导入表
  8. K2 BPM_如何将RPA的价值最大化?_全球领先的工作流引擎
  9. 【3】Git命令
  10. Win10系统升级更新方式将会更智能