CF1967B1 Reverse Card (Easy Version)

我们发现 \(b\times\gcd(a,b)\) 必然为 \(b\) 的倍数,那么 \(b\times\gcd(a,b)\) 的倍数 \(a+b\) 也必然为 \(b\) 的倍数。所以,\(a\) 必然为 \(b\) 的倍数。因为 \(a\) 为 \(b\) 的倍数,所以 \(\gcd(a,b)=b\),原式可化为 \(a+b=xb^2\),其中 \(x\) 为正整数。

考虑枚举 \(b\),原式可化为 \(a=xb^2-b\)。又因为 \(a\le n\),则 \(xb^2-b\le n\)。则 \(x\) 的最大值为 \(\lfloor\frac{n+b}{b^2}\rfloor\),共有 \(\lfloor\frac{n+b}{b^2}\rfloor\) 种取值,对应的,\(a\) 也有 \(\lfloor\frac{n+b}{b^2}\rfloor\) 种取值。

注意最后有 \(a=1,b=1\) 这种情况会算重,需要减去 \(1\)。

代码实现与讲解略微不同,但本质一样。

#include <bits/stdc++.h>
using namespace std;
long long t,n,m;
int main()
{
scanf("%lld",&t);
while(t--)
{
long long ans=0;
scanf("%lld%lld",&n,&m);
for(int i=1;i<=m;i++)
{
if(n<(i-1)*i)break;
ans=ans+(n-(i-1)*i)/(i*i)+1;
}
printf("%lld\n",ans-1);
}
return 0;
}

CF1967B1 Reverse Card (Easy Version) 题解的更多相关文章

  1. CF1157C1-Increasing Subsequence (easy version)题解

    原题地址 题目大意:

  2. ZOJ 3868 - Earthstone: Easy Version

    3868 - Earthstone: Easy Version Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%lld ...

  3. Codeforces 1077F1 Pictures with Kittens (easy version)(DP)

    题目链接:Pictures with Kittens (easy version) 题意:给定n长度的数字序列ai,求从中选出x个满足任意k长度区间都至少有一个被选到的最大和. 题解:$dp[i][j ...

  4. UVA12569-Planning mobile robot on Tree (EASY Version)(BFS+状态压缩)

    Problem UVA12569-Planning mobile robot on Tree (EASY Version) Accept:138  Submit:686 Time Limit: 300 ...

  5. Codeforces Round #521 (Div. 3) F1. Pictures with Kittens (easy version)

    F1. Pictures with Kittens (easy version) 题目链接:https://codeforces.com/contest/1077/problem/F1 题意: 给出n ...

  6. CF1225B1 TV Subscriptions (Easy Version)

    CF1225B1 TV Subscriptions (Easy Version) 洛谷评测传送门 题目描述 The only difference between easy and hard vers ...

  7. Ping-Pong (Easy Version)(DFS)

    B. Ping-Pong (Easy Version) time limit per test 2 seconds memory limit per test 256 megabytes input ...

  8. Coffee and Coursework (Easy version)

    Coffee and Coursework (Easy version) time limit per test 1 second memory limit per test 256 megabyte ...

  9. 2016级算法第六次上机-B.ModricWang's FFT : EASY VERSION

    1114 ModricWang's FFT EASY VERSION 思路 利用FFT做大整数乘法,实际上是把大整数变成多项式,然后做多项式乘法. 例如,对于\(1234\),改写成\(f(x)=1* ...

  10. Saving James Bond - Easy Version (MOOC)

    06-图2 Saving James Bond - Easy Version (25 分) This time let us consider the situation in the movie & ...

随机推荐

  1. 记一次 .NET某云HIS系统 CPU爆高分析

    一:背景 1. 讲故事 年前有位朋友找到我,说他们的系统会偶发性的CPU爆高,有时候是爆高几十秒,有时候高达一分多钟,自己有一点分析基础,但还是没找到原因,让我帮忙看下怎么回事? 二:CPU爆高分析 ...

  2. php 常用bc函数

    bcadd - 加法,2个任意精度数字的加法计算bcsub - 减法bcmul - 乘法bcdiv - 除法bcpow - 乘方bcmod - 取模bcsqrt - 求二次方根bccomp - 比较两 ...

  3. MySQL开启general_log

    General_log 详解 1.介绍 开启 general log 将所有到达MySQL Server的SQL语句记录下来. 一般不会开启开功能,因为log的量会非常庞大.但个别情况下可能会临时的开 ...

  4. [设计模式/Java] 设计模式之解释器模式【27】

    概述:解释器模式 := Interpreter Pattern ∈ 行为型模式 模式定义 解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式 属于行为型模式. 解释 ...

  5. 如何开启AI副业,月入10w? 想听的速来!!

    提供AI咨询+AI项目陪跑服务,有需要回复1 最近几天与粉丝多有交流,他们或者是经理.或者是总监,甚至有粉丝手里已经掌握了公司一些预算使用权. 从他们身上反映出了同一个问题:他们对于AI是偏焦虑的,想 ...

  6. MongoDB从入门到实战之Windows快速安装MongoDB

    前言 本章节的主要内容是在 Windows 系统下快速安装 MongoDB 并使用 Navicat 工具快速连接. MongoDB从入门到实战之MongoDB简介 MongoDB从入门到实战之Mong ...

  7. 详解ES6升级优化以及知识点汇总

    @charset "UTF-8"; .markdown-body { line-height: 1.75; font-weight: 400; font-size: 15px; o ...

  8. K8S+nginx+MYSQL+TOMCAT高可用架构企业自建网站

    以下是基于 多Master高可用Kubernetes集群 的企业级部署详细步骤,涵盖 Nginx Ingress + MySQL高可用集群 + Tomcat负载均衡 的完整流程: 一.前置条件准备 1 ...

  9. 【SQL周周练】:利用行车轨迹分析犯罪分子作案地点

    大家好,我是"蒋点数分",多年以来一直从事数据分析工作.从今天开始,与大家持续分享关于数据分析的学习内容. 本文是第 7 篇,也是[SQL 周周练]系列的第 6 篇.该系列是挑选或 ...

  10. 应用间通信(一):详解Linux进程IPC

    进程之间是独立的.隔离的,使得应用程序之间绝对不可以互相"侵犯"各自的领地. 但,应用程序之间有时是需要互相通信,相互写作,才能完成相关的功能,这就不得不由操作系统介入,实现一种通 ...