hdu5726 多校1 GCD【rmq+二分】
题意:
n(n<105)(n<10^5) 个正整数,q(q<105)(q<10^5)次查询,每次给出l、r,输出区间[l, r]的gcd和与其gcd相同的区间个数。思路:
rmq预处理gcd,O(nlogn),每次查询O(1);
固定l,gcd随r增大而递减,并且每次最小/2,个数不会超过log1e9,所以可以用二分log时间内求出所有gcd个数,枚举l,map保存,复杂度O(n*logn*l
原创
2016-07-24 19:45:18 ·
548 阅读 ·
0 评论