CF1967B1 Reverse Card (Easy Version) 题解
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) 题解的更多相关文章
- CF1157C1-Increasing Subsequence (easy version)题解
原题地址 题目大意:
- ZOJ 3868 - Earthstone: Easy Version
3868 - Earthstone: Easy Version Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%lld ...
- Codeforces 1077F1 Pictures with Kittens (easy version)(DP)
题目链接:Pictures with Kittens (easy version) 题意:给定n长度的数字序列ai,求从中选出x个满足任意k长度区间都至少有一个被选到的最大和. 题解:$dp[i][j ...
- 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 ...
- 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 ...
- CF1225B1 TV Subscriptions (Easy Version)
CF1225B1 TV Subscriptions (Easy Version) 洛谷评测传送门 题目描述 The only difference between easy and hard vers ...
- Ping-Pong (Easy Version)(DFS)
B. Ping-Pong (Easy Version) time limit per test 2 seconds memory limit per test 256 megabytes input ...
- Coffee and Coursework (Easy version)
Coffee and Coursework (Easy version) time limit per test 1 second memory limit per test 256 megabyte ...
- 2016级算法第六次上机-B.ModricWang's FFT : EASY VERSION
1114 ModricWang's FFT EASY VERSION 思路 利用FFT做大整数乘法,实际上是把大整数变成多项式,然后做多项式乘法. 例如,对于\(1234\),改写成\(f(x)=1* ...
- Saving James Bond - Easy Version (MOOC)
06-图2 Saving James Bond - Easy Version (25 分) This time let us consider the situation in the movie & ...
随机推荐
- 记一次 .NET某云HIS系统 CPU爆高分析
一:背景 1. 讲故事 年前有位朋友找到我,说他们的系统会偶发性的CPU爆高,有时候是爆高几十秒,有时候高达一分多钟,自己有一点分析基础,但还是没找到原因,让我帮忙看下怎么回事? 二:CPU爆高分析 ...
- php 常用bc函数
bcadd - 加法,2个任意精度数字的加法计算bcsub - 减法bcmul - 乘法bcdiv - 除法bcpow - 乘方bcmod - 取模bcsqrt - 求二次方根bccomp - 比较两 ...
- MySQL开启general_log
General_log 详解 1.介绍 开启 general log 将所有到达MySQL Server的SQL语句记录下来. 一般不会开启开功能,因为log的量会非常庞大.但个别情况下可能会临时的开 ...
- [设计模式/Java] 设计模式之解释器模式【27】
概述:解释器模式 := Interpreter Pattern ∈ 行为型模式 模式定义 解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式 属于行为型模式. 解释 ...
- 如何开启AI副业,月入10w? 想听的速来!!
提供AI咨询+AI项目陪跑服务,有需要回复1 最近几天与粉丝多有交流,他们或者是经理.或者是总监,甚至有粉丝手里已经掌握了公司一些预算使用权. 从他们身上反映出了同一个问题:他们对于AI是偏焦虑的,想 ...
- MongoDB从入门到实战之Windows快速安装MongoDB
前言 本章节的主要内容是在 Windows 系统下快速安装 MongoDB 并使用 Navicat 工具快速连接. MongoDB从入门到实战之MongoDB简介 MongoDB从入门到实战之Mong ...
- 详解ES6升级优化以及知识点汇总
@charset "UTF-8"; .markdown-body { line-height: 1.75; font-weight: 400; font-size: 15px; o ...
- K8S+nginx+MYSQL+TOMCAT高可用架构企业自建网站
以下是基于 多Master高可用Kubernetes集群 的企业级部署详细步骤,涵盖 Nginx Ingress + MySQL高可用集群 + Tomcat负载均衡 的完整流程: 一.前置条件准备 1 ...
- 【SQL周周练】:利用行车轨迹分析犯罪分子作案地点
大家好,我是"蒋点数分",多年以来一直从事数据分析工作.从今天开始,与大家持续分享关于数据分析的学习内容. 本文是第 7 篇,也是[SQL 周周练]系列的第 6 篇.该系列是挑选或 ...
- 应用间通信(一):详解Linux进程IPC
进程之间是独立的.隔离的,使得应用程序之间绝对不可以互相"侵犯"各自的领地. 但,应用程序之间有时是需要互相通信,相互写作,才能完成相关的功能,这就不得不由操作系统介入,实现一种通 ...