博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ 4052: [Cerc2013]Magical GCD
阅读量:5193 次
发布时间:2019-06-13

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

 以一个数字开头的子序列的gcd种类不会超过logn种,因此去找相同gcd最长的位置,更新一下答案,复杂度O(nlogn^2)

1 #include
2 #include
3 #include
4 #define N 300010 5 using namespace std; 6 int n,i,Log[N],j,l,left,right,mid; 7 long long s[N][20],ans; 8 long long gcd(long long a,long long b) 9 {10 if (b==0) return a;11 return gcd(b,a%b);12 }13 long long Q(int l,int r)14 {15 int k=Log[r-l+1];16 return gcd(s[l][k],s[r-(1<
=1;i--)31 for (j=1;j<=Log[n];j++)32 s[i][j]=gcd(s[i][j-1],s[i+(1<<(j-1))][j-1]);33 34 for (i=1;i<=n;i++)35 {36 l=i;37 while (l<=n)38 {39 left=l;40 right=n;41 while (left<=right)42 {43 mid=(left+right)>>1;44 if (Q(i,mid)==Q(i,l))45 left=mid+1;46 else47 right=mid-1;48 }49 l=right+1;50 ans=max(ans,(right-i+1)*Q(i,right));51 }52 }53 printf("%lld\n",ans);54 }55 }

 

转载于:https://www.cnblogs.com/fzmh/p/4899640.html

你可能感兴趣的文章
iptables 移植到arm上
查看>>
MATLAB 常见问题
查看>>
JAVA嵌套类:静态嵌套类和非静态嵌套类
查看>>
域名与网站名区别
查看>>
Ubuntu下如何用命令行运行deb安装包
查看>>
HTTP请求模型
查看>>
PO VO BO DTO POJO DAO(转)
查看>>
跟着8张思维导图学习javascript
查看>>
css3学习总结6--CSS3字体
查看>>
quick-find
查看>>
Leetcode-1029 Two City Scheduling(两地调度)
查看>>
Educational Codeforces Round 1 B. Queries on a String 暴力
查看>>
UVA846 - Steps
查看>>
感受MapXtreme2004之三:
查看>>
InnoDB的锁机制浅析(All in One)
查看>>
mysql not in 和 not exits
查看>>
boost智能指针指定const对象问题
查看>>
刷新页面要通过F5
查看>>
Ubuntu打开core dump
查看>>
python标准库
查看>>