CF1967B2. Reverse Card (Hard Version) 题解 数学题
题目链接:https://codeforces.com/problemset/problem/1967/B2
题目大意:
给你两个整数 和 ,有满足如下条件的有序整数对 一共有多少个:
- 且 ;
- 是 的倍数。
解题思路:
设 ,,
则
两边同时除以 ,得:
又因为 ,得 (即 和 互质),所以
所以 ,.
又因为
,所以
所以 得
,所以
所以 得
所以可以 的时间复杂度枚举互质的数对 (多出来的 是求 ),
然后 能够取的数最大是 ,
又因为
所以满足条件的 的取值有 种可能。
示例程序:
#include <bits/stdc++.h>
using namespace std;
int T, n, m;
long long cal(int n, int m) {
long long res = 0;
for (int A = 1; A * A < n; A++) {
for (int B = 1; B * B < m; B++) {
if (__gcd(A, B) > 1) continue;
res += min(n/A, m/B) / (A+B);
}
}
return res;
}
int main() {
scanf("%d", &T);
while (T--) {
scanf("%d%d", &n, &m);
printf("%lld\n", cal(n, m));
}
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
2019-11-24 洛谷训练新手村之“简单字符串”题解
2019-11-24 洛谷训练新手村之“数组”题解
2019-11-24 洛谷训练新手村之“循环!循环!循环!”题解
2019-11-24 洛谷训练新手村之“顺序与分支”题解
2019-11-24 洛谷训练新手村之“洛谷的第一个任务”题解