bzoj 1978(dp)
来源:互联网 发布:电脑印章的软件 编辑:程序博客网 时间:2024/06/06 04:49
传送门
题解:
对于每个数x枚举因子i,记录上一个能整除i的位置,从这个位置转移过来,取max即可。
#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;int n,L,dp[50004],nxt[1000004],ans=0;inline int read() {int x=0;char c=getchar();while (c<'0'||c>'9') c=getchar();while (c>='0'&&c<='9') x=x*10+c-'0',c=getchar();return x;}int main() {n=read(),L=read();for (register int i=1;i<=n;++i) {int x=read();for (int j=1;j*j<=x;++j) {if (x%j) continue;if (j>=L) dp[i]=max(dp[i],dp[nxt[j]]+1),nxt[j]=i;int k=x/j;if (k>=L&&j^k) dp[i]=max(dp[i],dp[nxt[k]]+1),nxt[k]=i;}ans=max(ans,dp[i]);}printf("%d\n",ans);return 0;}
阅读全文
0 0
- bzoj 1978(dp)
- bzoj 1237(dp)
- bzoj 1616(dp)
- bzoj 1037(dp)
- bzoj 1617(dp)
- bzoj 3384(dp)
- bzoj 1040(树形DP)
- bzoj 2060(树形DP)
- bzoj 2287(背包dp)
- BZOJ 4621 Tc605 (DP)
- bzoj 4321: queue2 (DP)
- BZOJ 4806 炮(DP)
- bzoj 4922(背包dp)
- bzoj 1907(树形dp)
- bzoj 1060(树形dp)
- bzoj 1131(树形dp)
- bzoj 4145(状压dp)
- bzoj 1072(状压dp)
- Android读书笔记(五)使用摄像头、从相册获取图片
- QT编写树莓派的Nokia5110显示屏显示
- Go语言中数组和slice的区别
- Properties工具类
- moment.js 日期和时间管理 24小时制
- bzoj 1978(dp)
- 线性表
- group by用法
- 总结一个人工智能(AI)产品设计框架
- HTTP POST方法调用
- nexus作为maven的私服
- eclipse使用心得体会
- Python学习—matplotlib使用—plt.tick_params中which用法
- [bzoj3990][SDOI2015]排序 搜索