JZ 3895【题解】数字对

版权声明:这是ZYF老师的劳动成果,希望能得到你们的支持,转载请链接,谢谢配合! https://blog.csdn.net/qq_41332995/article/details/86648455

题目大意:在数组A中找到一个区间及一个区间数,使得其他数可以表示成区间数*i(i<>0)(i!=0)的形式。

思路:

1.用三个指针乱搞暴力枚举K,然后向两边延伸,求出答案。

时间复杂度:O\left ( n^{2} \right )

2.RMQ维护最大公约数。

时间复杂度:O(n log n)

3.单调队列维护位置

时间复杂度:O(n)

伪代码:

i=1 to n
{
    l=i;
    r=i;
    l,r指针乱搞(左右拓展)
    注意边界与初始值
    统计答案
}

谢谢!

猜你喜欢

转载自blog.csdn.net/qq_41332995/article/details/86648455
今日推荐