您的位置:首页 > 产品设计 > UI/UE

hdu5869——Different GCD Subarray Query(思考+树状数组)

2016-09-10 20:08 302 查看
这是我第二次做这道题了,还是没做出来,真是惭愧。。

题意:长度n的序列, m个询问区间[L, R], 问区间内的所有子段的不同GCD值有多少种.

题解:考虑固定左端点的不同GCD值,只有不超过logA种, 所以事件点只有nlogA个. 那么离线处理, 按照区间右端点排序从小到大处理询问, 用一个树状数组维护每个GCD值的最大左端点位置即可. 复杂度是O(nlogAlogn).
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  gcd acm