首页 > 其他分享 >CF1967B2 Reverse Card (Hard Version) 题解

CF1967B2 Reverse Card (Hard Version) 题解

时间:2024-05-01 12:44:57浏览次数:26  
标签:le gcd int 题解 Hard sqrt times Reverse

题意:求有多少对 \((a,b)\) 满足 \(b \times \gcd(a,b) \equiv 0 \pmod{a+b},1 \le a \le n,1 \le b \le m\)。

首先我们设 \(\gcd(a,b) = G,a=i \times G,b = j \times G\),显然有 \(\gcd(i,j)=1\)。

那么可以把原条件转化为 \(j \times G\) 是 \((i+j)\) 的倍数。因为 \(\gcd(i+j,j)=1\),所以 \(G\) 是 \((i+j)\) 的倍数。又因为 \(1 \le a=i\times G \le n,1 \le b=j \times G \le m\),所以 \(i \le \sqrt{n},j \le \sqrt{m}\)。于是我们可以枚举每一对合法的 \((i,j)\),若 \(\gcd(i,j)=1\),那么它的贡献为 \(\min(n / i / (i + j),m / j / (i + j))\)。时间复杂度 \(O(\sqrt{n} \times \sqrt{m} \times \log n)=O(n \log n)\)。

#include<bits/stdc++.h>
using namespace std;
#define int long long
int T,n,m; 
signed main() {
	cin >> T;
	while(T--) {
		cin >> n >> m;
		int ans = 0;
		for(int i = 1;i <= sqrt(n);i++) {
			for(int j = 1;j <= sqrt(m);j++) {
				if(__gcd(i,j) != 1) continue;
				ans += min(n / i / (i + j),m / j / (i + j));
			}
		} cout << ans << endl;
	}
	return 0;
}

标签:le,gcd,int,题解,Hard,sqrt,times,Reverse
From: https://www.cnblogs.com/Creeperl/p/18169249

相关文章

  • Codeforces Round 942 Div.2 题解
    蹭个热度,挽救一下cnblogs蒸蒸日上的阅读量。Q:你是手速狗吗?A:我觉得我是。2A因为选的\(w\)一定可以让它合法,一次操作可以看作\(a\)数组向右平移一位。枚举操作次数后暴力判断即可。#include<bits/stdc++.h>voidwork(){ intn; std::cin>>n; std::vector<......
  • Reverse Card (Hard Version)
    事情是这样的,我验了这一场CF。显然我玩原神玩多了有一个很奇怪的、不能过的算法,哦,当然,在我本机可以过。为了展现自己的智慧糖,我写一下。出题人是先发给我了一个限制都是\(n\)的,因此只有这个。\(n,m\)改改就是了。要求\(1\lea\len,1\leb\len\)满足\(a+b\midb\times......
  • ES Validation Failed: 1: this action would add [1] shards, but this cluster c
    [2024-05-01T08:56:52,606][ERROR][o.e.x.i.IndexLifecycleRunner][tools]policy[ilm-history-ilm-policy]forindex[.ds-ilm-history-5-2024.03.28-000001]failedonstep[{"phase":"hot","action":"rollover","name&qu......
  • 【题解】 量化交易5
    题目描述applepi训练了一个可以自动在股票市场进行量化交易的模型。通常来说,applepi写出的模型,你懂得,就好比一架印钞机。不过为了谨慎起见,applepi还是想先检查一下模型的效果。applpie收集了“塞帕思股份(surpass)”在最近的连续N天内的价格。在每一天中,他可以做如下事情之一:......
  • Educational Codeforces Round 165 (Rated for Div. 2) 题解
    A对于\(i\top_i\)连边。如果存在二元环,则答案为2。否则答案为3。B非降序排序:0全部在1前面。令0的个数为z。从左往右,将前z个全部填上0。填第\(i\)位时,每次填的最小代价为:若第\(i\)位为1,第\(i\)位右边的第一个0到\(i\)之间的字符个数。(贪心)......
  • 【题解】 量化交易4
    题目描述applepi训练了一个可以自动在股票市场进行量化交易的模型。通常来说,applepi写出的模型,你懂得,就好比一架印钞机。不过为了谨慎起见,applepi还是想先检查一下模型的效果。applpie收集了“塞帕思股份(surpass)”在最近的连续N天内的价格。在每一天中,他可以做如下事情之一:......
  • 【题解】 量化交易3
    题目描述applepi训练了一个可以自动在股票市场进行量化交易的模型。通常来说,applepi写出的模型,你懂得,就好比一架印钞机。不过为了谨慎起见,applepi还是想先检查一下模型的效果。applpie收集了“塞帕思股份(surpass)”在最近的连续N天内的价格。在每一天中,他可以做如下事情之一:......
  • CF1765C Card Guessing 题解
    考虑期望的线性性,求每种情况猜对的概率和,最终再除掉\({4n\choosen,n,n,n}\)。考虑枚举最少的出现次数\(mn\),记四种卡的出现次数分别为\(c_1,c_2,c_3,c_4\),\(c_1+c_2+c_3+c_4=i\lek\),则这种情况的方案数为:\[{i\choosec_1,c_2,c_3,c_4}{4n-i\choosen-c_1,n-c_2,n-c_3,n-c_......
  • 题解 CF1965E【Connected Cubes】
    场切了1E,第一次上IGM,纪念一下。多图警告。我们称题目中的一个方块为“某色混凝土”。感受一下,发现本题主要的难点在于这些混凝土方块排布得太紧密了,导致容易出现互相遮挡的现象,进而难以构造。于是,我们先思考能否通过一些操作使得这些混凝土互相分离。如下图的方式可以将每两......
  • CF1956F Nene and the Passing Game 题解
    题目链接点击打开链接题目解法首先答案为连边之后连通块的个数把限制中的\(i,j\)分开,则\(i,j\)能传球当且仅当\(i+l_i\lej-l_j\)且\(j-r_j\lei+r_i\)这是一个二维偏序的形式先考虑怎么暴力做,考虑将\((i+l_i,0),\;(i-l_i,1)\)排序,然后按顺序加入如果碰到操作\(......