Codeforces Round #701 (Div. 2) C
作者:互联网
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使得等式成立。所以跑一遍枚举即可。
标签:Floor,min,701,整数,Codeforces,Div,任意,mod 来源: https://www.cnblogs.com/clo91eaf/p/14485481.html