您的位置:首页 > 其它

D. Yaroslav and Divisors

2014-03-07 21:27 127 查看
本题参考了CLJ的代码, ORZ......

首先预处理出(a, b) a | b的所有对数

对于查询的区间按照右端点进行排序。。

对于某个区间[a, b], 考虑下一个可能的区间[c, b + 1]

显然[c, b + 1] 需要包含之前的满足条件的整除对。。

故考虑到b的时候,需要将b的所有满足条件的对数[x1, b], [x2, b]...[xn, b]

将区间[1, x1], [1, x2], ..., [1, xn]加1,之后对sum(b), 可以用树状数组维护。。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: