109. 天才ACM(倍增,归并)
先介绍一下倍增算法倍增:倍增和二进制划分两个思想相结合,快速幂就是采用了倍增的思想有这样一个问题:给定一个长度为N的数列A,然后进行若干次询问,每次给定一个整数T,求出最大的k,满足,T一定小于整个区间的和线性探索的时间复杂度是O(N),而倍增可以优化到O(logn)倍增原理:任何一个数都可以表示为多个2次幂的和1.令p=1,k=0,sum=02.比较A数组中k之后的p个数的和与T的关系sum+S[k+p]-S[k]<=T 令sum+=S[k+p]-S[k]...
原创
2022-01-21 14:47:05 ·
520 阅读 ·
0 评论