首页 > 其他分享 >Problem about GCD

Problem about GCD

时间:2024-12-25 12:57:30浏览次数:3  
标签:about log 互质数 质数 leq Problem GCD

思路

首先容易发现题目相当于让你找到一个互质数对 \((a, b)\) 使得 \(l \leq a \cdot G \leq b \cdot G \leq r\), 求 \(b - a\) 最大化

然后你发现区间缩小量并不大, 简单的, 问题可以视作在一个 \(10^{18}\) 的区间里找互质数对

很快你发现, 如果从左到右扫 \(a\) , 从右到左扫 \(b\) , 应该很快就可以找到互质数对

感性理解一下, 如果你要让 \(b\) 增长 \(1\) , 那么 \(a\) 很有可能要乘上一个质数

那么直接爆搜即可

我们考虑严谨证明,
我们知道, 一个数的质数个数为 \(\log^2\) 级别的, 那么如果对于一个数 \(a\) , 必须要有另一个数 \(b\) 不能有这 \(\log^2\) 个质数

这个概率为

\[P(\text{不含所有} p_1, p_2, \dots, p_{\log^2 n}) = \prod_{i=1}^{\log^2 n} \left( 1 - \frac{1}{p_i} \right) \]

这个应该也是 \(\log\) 级别的, 所以直接枚举是可行的

总结

一类利用质数出现次数为 \(\log n\) 的问题

标签:about,log,互质数,质数,leq,Problem,GCD
From: https://www.cnblogs.com/YzaCsp/p/18630142

相关文章

  • 看下面这个Rust程序,我想知道 other_error => panic!("Problem opening the file: {:?}
    看下面这个Rust程序,我想知道other_error=>panic!("Problemopeningthefile:{:?}",other_error)这一行代码,为什么是other_error=>panic...而不是_=>panic...?usestd::fs::File;usestd::io::ErrorKind;fnmain(){letf=File::open("hello.txt&qu......
  • Google Kickstart2021 Round C Problem A
    数位DP传送思路简单的数位DP,假定每一位的字符前面是最大的字符,对于每一位的字符,小于当前字符的数量是(s[i]-'a'),此时如果这样选择,那么后面的每一个到字符串中间的字符都可以任选m个,设第i个到中间字符的数量是y,所以此时可以构成的满足条件的字符是\((s[i]-'a')*m^y\)但是我们......
  • 「ARC020C」 A mod B Problem
    题意最开始有一个空的数\(s\),给定\(n\)组整数\(a,l\),表示把\(a\)复制\(l\)次再粘贴到\(s\)后,求最终\(s\)对\(b\)取模的值。分析考虑用\(s_{i}\)表示第\(i\)次操作后的值,我们只需要模拟每一次操作就行了,但是这个\(l\)的范围卡的很死。但我们发现\(n\)不......
  • [Git]Notes about how to use Git Bash
    通过GitBash方式创建仓库①新建文件夹-仓库名②初始化仓库生成.git文件夹-gitinit③拉取远程仓库-gitclone{网址}④配置文件-gitconfiguser.name{name}-gitconfig--globaluser.email{name}//global配置全局通过GitBash方式查看暂存区状态-gitstatus......
  • [BZOJ3489] A simple rmq problem
    考虑当没有强制在线时,容易想到一个点\(i\)所影响的区间\([l,r]\)满足\(pr_i<l\lei,i\ler<nx_i\)。显然可以转化为矩阵修改,单点求\(\max\)的问题。那扫描线\(+\set\)轻松拿下。强制在线就把线段树换成主席树就可以了。注意这里不能下传标记,所以得用标记永久化。但是......
  • Hard Demon Problem
    HardDemonProblemSwingisopeningapancakefactory!Agoodpancakefactorymustbegoodatflatteningthings,soSwingisgoingtotesthisnewequipmenton2Dmatrices.Swingisgivenan$n\timesn$matrix$M$containingpositiveintegers.Hehas$q......
  • 【内向基环树】codeforces 2044 G1. Medium Demon Problem (easy version)
    前言基环树,又名环套树,是具有\(n\)个节点和\(n\)条边的图,比树多出现一个环。基环树也根据边的有向和无向分为了有向基环树和无向基环树。有向基环树又可以分为内向基环树和外向基环树。对于有向基环树,若基环树的每个节点的出度均为\(1\),则称为内向基环树;若基环树的每个节点的......
  • (补题)Codeforces Round 993 (Div. 4) E.Insane Problem
    显然不可暴力解出,因此是到数学题。已知$$y=x*k^n$$所以我们可以利用y的区间范围$$[l1,r1]$$得出x的新的区间范围$$[l2/k^n(向上取整),r2/k^n(向下取整)]$$接着与原来的范围取交集然后不断枚举n即可,注意k^n不可能超过y#include<iostream>#defineintlonglongusingnamespa......
  • Insane Problem(思维)
    Waveisgivenfiveintegers\(k\),\(l_1\),\(r_1\),\(l_2\),and\(r_2\).Wavewantsyoutohelphercountthenumberoforderedpairs\((x,y)\)suchthatallofthefollowingaresatisfied:\(l_1\leqx\leqr_1\).\(l_2\leqy\leq......
  • Problem: 1338. 数组大小减半 贪心 模拟 法 简单易懂
    Problem:1338.数组大小减半思路因为要选择最小的整数集合,这里用Counter容器来统计下所有各种数字的大小,然后按照值来排序,设置target来表示要到达什么位置,这里最好不要用整除,防止要计算的大于arr,但是len(arr)是奇数,这里total表示删除到这个位置已经删除了多少数字,如果大......