博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
codeforces1101D GCD Counting 【树形DP】
阅读量:4975 次
发布时间:2019-06-12

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

题目分析:

蛮简单的一道题,对于每个数拆质因子,对于每个质因子找出最长链,在每个地方枚举一下拼接

代码:

1 #include
2 using namespace std; 3 4 const int maxn = 205000; 5 6 int n,a[maxn],prime[maxn],flag[maxn],minn[maxn],num,ans; 7 vector
g[maxn]; 8 vector
> mp[maxn]; 9 10 vector
cl[maxn];11 12 void getprime(int N){13 for(int i=2;i<=N;i++){14 if(!flag[i]){prime[++num] = i,minn[i] = i;}15 for(int j=1;j<=num&&i*prime[j]<=N;j++){16 flag[i*prime[j]] = 1;17 minn[i*prime[j]] = prime[j];18 if(i%prime[j] == 0) break;19 }20 }21 }22 23 void read(){24 scanf("%d",&n);25 for(int i=1;i<=n;i++) scanf("%d",&a[i]);26 for(int i=1;i
= maxx) sec = maxx,maxx = cl[z][i];53 else if(cl[z][i] > sec) sec = cl[z][i];54 }55 mp[now].push_back(make_pair(z,maxx+1));56 ans = max(ans,maxx+sec+1);57 }58 }59 60 void work(){61 getprime(200000);62 dp(1,0);63 printf("%d\n",ans);64 }65 66 int main(){67 read();68 work();69 return 0;70 }

 

转载于:https://www.cnblogs.com/Menhera/p/10265127.html

你可能感兴趣的文章
c#中的组件拖拽和MouseMove事件
查看>>
C# 小叙 Encoding (二)
查看>>
python创建对象数组避免浅拷贝
查看>>
CSS自学笔记(14):CSS3动画效果
查看>>
项目应用1
查看>>
Ubuntu下配置jdk和tomcat
查看>>
大型网站的演变升级
查看>>
图片延迟加载的实现
查看>>
php适配器模式(adapter pattern)
查看>>
C# 委托链(多播委托)
查看>>
解密个推持续集成
查看>>
基本SCTP套接字编程常用函数
查看>>
C 编译程序步骤
查看>>
页面抓取匹配时,万恶的\r,\n,\t 要先替换掉为空,出现匹配有问题,都是这个引起的...
查看>>
利用Node.js调用Elasticsearch
查看>>
构造函数
查看>>
LeetCode N-Queens
查看>>
jstat 命令
查看>>
leetcode[155]Min Stack
查看>>
《代码不朽:编写可维护软件的10大要则(C#版)》读后感
查看>>