J、Berserker's trouble

题意:给你一个N,定义一个二元组(a,b),当a,b小于N的正整数并且a%b>=k,则认为二元组(a,b)是合法的

https://ac.nowcoder.com/acm/contest/554/J

求二元组的个数。

1、a%b>=k,考虑枚举每一个b,然后将N按照每段长度为b来分段,这样每一组内能%b>=k的数字就都是一样的,注意一下尾巴可能也有贡献

2、当k为0时,特判一下。

#include <bits/stdc++.h>
#define ll long long
int main()
{
	ll n, k;
	while (scanf("%lld%lld", &n, &k) > 0)
	{
		if (k == 0)
			printf("%lld\n", n * n);
		else
		{
			ll ans = 0;
			for (int i = k + 1; i <= n; i++)
			{
				ans += n / i * (i - k);
				if (n % i >= k)
					ans += n % i - k + 1;
			}
			printf("%lld\n", ans);
		}
	}
}

 

全部评论

相关推荐

06-17 00:26
门头沟学院 Java
程序员小白条:建议换下项目,智能 AI 旅游推荐平台:https://github.com/luoye6/vue3_tourism_frontend 智能 AI 校园二手交易平台:https://github.com/luoye6/vue3_trade_frontend GPT 智能图书馆:https://github.com/luoye6/Vue_BookManageSystem 选项目要选自己能掌握的,然后最好能自己拓展的,分布式这种尽量别去写,不然你只能背八股文了,另外实习的话要多投,尤其是学历不利的情况下,多找几段实习,最好公司title大一点的
无实习如何秋招上岸
点赞 评论 收藏
分享
点赞 评论 收藏
分享
昨天 11:33
江南大学 Java
已经在暑假实习了&nbsp;,没有明确说有hc,纠结实习到八月份会不会有点影响秋招毕竟感觉今年好多提前批
程序员小白条:92的话准备提前批,其他没必要,没面试机会的,而且你要准备充分,尤其八股和算法题
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务