璟雯院

珺璟如晔,雯华若锦

用户工具

站点工具


icpc:problems:701c_floor_and_mod
problems
名称Floor and Mod
题目编号701C
题目链接codeforces.com/…
来源CodeForces
算法分类数学
难易程度一般般

Floor and Mod

想法

数学题,没想法。看题解都晕。

我们可以注意到k是有范围的,所以表示k的范围。

然后啥都用b来表示。

我们其实就是找比k大的b的个数。

最后就是一个式子,推出来就好了…

代码实现

#include<cstdio>//uncle-lu 701 c
#include<cmath>
#include<algorithm>
template<class T>void read(T &x)
{
	x=0;int f=0;char ch=getchar();
	while(ch<'0'||ch>'9') { f|=(ch=='-'); ch=getchar(); }
	while(ch<='9'&&ch>='0') { x=(x<<1)+(x<<3)+(ch^48); ch=getchar(); }
	x = f ? -x : x;
	return ;
}
 
int main()
{
	int T, x, y;
	read(T);
	for (int t = 1; t <= T; t++) 
	{
		read(x);read(y);
		long long int ans = 0;
		for (int k = 1; k <= sqrt(x); k++) 
			ans += std::max(0, std::min(y, x/k - 1) - k);
		printf("%lld\n", ans);
	}
	return 0;
}
/app/www/public/data/pages/icpc/problems/701c_floor_and_mod.txt · 最后更改: 2023/10/01 10:42 由 温婕莺