hdu5358专题

hdu5358--First One(双指针)

题目链接:点击打开链接 题目大意:给出一个序列,其中S(i,j)代表a[i]到a[j]的和,然后计算的和。 其中包含了向下取整,所以我们可以想到,log(2,S(i,j))向下取整后最大也就是33,所以我们可以寻找log值相同的段, 对于以每一个数为起点,都有可能存在一段连续的序列,他们的log值是相同的,,,一开始的做法是枚举起点i,然后对每一段log值计算一个区间(r1,r2),通过二分