Codeforces Round #701 (Div. 2) C
时间:2021-03-06 14:13:16
收藏:0
阅读:0
C. Floor and Mod
给定x,y,求满足条件
? a / b ? = a mod b
这样的整数对在(a <= x)(b <= y)上的数量。
分析条件式子:? a / b ? = a mod b, 不妨令k == a mod b == ? a / b ? ,可以得出:a == k * (b + 1),并且 k < b && k * k <= a。
我们发现,对任意一个k,只要a <= x && b <= y && k < b即可成立,将第一个条件转移到b上,即 k * (b + 1) <= x 即 b <= x / k - 1 。
换句话说,b的上限是 min(y, x / k - 1),b的下限是k + 1,对于这其中任意一个整数b,均存在对应的a使得等式成立。所以跑一遍枚举即可。
评论(0)