CF1967D2 补题笔记

news/2024/5/18 23:32:57

批:赛时没想到 $(p+q) \mid d $ 所以推复杂了还整出了奇怪的欧拉函数,喜提罚坐,快说我菜/kk。

首先经典套路,设 \(d=\gcd(a,b)\),然后 \(a=pd\)\(b=qd\),显然有 \(\gcd(p,q)=1\),原式变为 $(pd+qd) \mid (qd^2) $。

两边同除 \(d\),原式变为 $(p+q) \mid (qd) $。

\(\gcd(p,q)=1\)\(\gcd(p+q,q)=1\),所以只能有 $(p+q) \mid d $。

由于 \(d=\frac{a}{p}\),又因为显然 \(p<d\),所以有 \(p<\frac{a}{p}<\frac{n}{p}\),即 \(p^2<n\)。同理,\(q^2<m\)

于是就成功地缩小了 \(p\)\(q\) 的范围。这时候就可以枚举所有满足 \(\gcd(p,q)=1\) 的数对,对于每一对数对 \(d\) 的取值范围显然为 \(\min(\left\lfloor\frac{n}{p}\right\rfloor,\left\lfloor\frac{m}{q}\right\rfloor)\),然后又要满足 $(p+q) \mid d $,所以贡献即为 \(\frac{\min(\left\lfloor\frac{n}{p}\right\rfloor,\left\lfloor\frac{m}{q}\right\rfloor)}{p+q}\)

code

//writer:Oier_szc#include <bits/stdc++.h>
//#include <windows.h>
#define ED cerr<<endl;
#define TS cerr<<"I AK IOI"<<endl;
#define cr(x) cerr<<x<<endl;
#define cr2(x,y) cerr<<x<<" "<<y<<endl;
#define cr3(x,y,z) cerr<<x<<" "<<y<<" "<<z<<endl;
#define cr4(x,y,z,w) cerr<<x<<" "<<y<<" "<<z<<" "<<w<<endl;
#define pii pair<int,int>
#define fi first
#define se second
#define int long long
using namespace std;
const int N=2e3+5,INF=2e9,mod=1e9+7;
int t,n,m;
int bad[N][N];
int gcd(int a,int b) {return !b?a:gcd(b,a%b);}
signed main() {scanf("%lld",&t);while(t--) {scanf("%lld%lld",&n,&m);int ans=0;for(int a=1;a<=n/a;++a) {for(int b=1;b<=m/b;++b) {if(gcd(a,b)==1) ans+=min(n/a,m/b)/(a+b);}}printf("%lld\n",ans);}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hjln.cn/news/28242.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

k8s核心组件详解和分层架构

k8s核心组件master中的核心组件api-server(接口服务,基于rest风格开放k8s接口的服务) kube-controller-manager(管理各个类型的控制器,针对k8s中的各种资源进行管理)cloud-controller-manager(云控制管理器,第三方云平台提供的控制器,api对接管理功能) kube-scheduler…

前端框架开发之Niu框架——从零学框架的小白

起因: 从2018年6月一直到我重新提笔,6年时间。这六年时间,我见证了IT的兴衰,见证了小众框架LayUI框架的重新更新,见证了vue、angular、react等框架的主流。----博客园老牛大讲堂初衷: 今年我突发灵感,想要设计一个网站,作为程序员却"提笔忘字",就连最基本的…

Blazor流程编排的艺术:深入Z.Blazor.Diagrams库的使用与实践

为现代网页应用开发提供动力的其中一个重要方面就是前端框架的强大功能与灵活性。而在.NET生态中,Blazor以其独特的工作方式和优势逐渐获得了开发者们的青睐。今天,在这篇文章中,我将带你深入探索一个基于Blazor的优秀库——Z.Blazor.Diagrams,我们将了解它是如何帮助开发者…

【未整合】数学 day4.2

博弈论 Nim游戏 对于 \(n=2\),\(a_1=a_2\),后手可以“模仿”先手,使得后手必胜。 对于 \(a_1\ne a_2\),先手可以让自己进入“模仿期”,使得先手必胜。 结论:若 \(\oplus a_i=0\),先手必败,否则必胜。很神奇的东西,证明需要群论知识。 发现石子的合并满足上面四条性质,…

Jmeter内存溢出:java.lang.OutOfMemoryError: Java heap space解决思路

一、问题原因 用JMeter压测,有时候当模拟并发请求较大或者脚本运行时间较长时,JMeter会停止,报OOM(内存溢出)错误。原因是JMeter是一个纯Java开发的工具,内存由java虚拟机JVM管理,当内存回收不及时,堆内存不足时,就会报内存溢错误。 概念补充: 内存泄露:应用使用资源…

ABC352

A link\(x\)停不到,\(y\)能停到。 要先判断是从前往后还是从后往前。点击查看代码 #include<bits/stdc++.h>using namespace std;signed main(){int n,x,y,z;cin >> n >> x >> y >> z;if(x <= y){if(z > x&&z <= y) cout <…

深度学习相关理论

一、深度学习相关理论 1.神经网络概述 2. 卷积神经网络CNN ①卷积层——计算方法是大矩阵内部小矩阵=较小矩阵,作用是特征提取 ②池化层——计算方法是大矩阵通过选取最大值或是平均值变成小矩阵,作用是降维、提高计算效率 3. 激活函数

关于diffusion model一些统计和数学的基础知识

likelihood-based models,通过(近似)最大似然直接学习分布的probability density(或mass)函数。典型的基于似然的模型包括自回归模型、归一化流模型、基于能量的模型(EBMs)和变分自编码器(VAEs)。 概率质量函数(Probability Mass Function,PMF):概率质量函数用于描述离散随…