GCD
  • 2024-07-02欧拉函数、整除分块和扩展欧几里得
    欧拉函数欧拉函数(写作\(\varphi(x)\)),表示\(i\in[1,x]且\gcd(i,x)=1\)的\(i\)的数量。乍一看好像很难求,但我们先考虑最简单的情况,即\(x\in\mathbb{P}\)(\(\mathbb{P}\)表示质数集)的情况。首先很容易看出\(\varphi(x)=x-1\),因为\(x\in\mathbb{P}\),所以\(\foralli
  • 2024-07-02用质因数求解最大公约数(gcd)和最小公倍数(lcm)
    用质因数求解最大公约数(gcd)思路分析:1、质因数:(素因数或质因子)他指的是能整除给定正整数的质数。例如:36可以分解为223*3,其中2和3就是质因数。2、质因数求解最大公约数:对每个数进行质因数分解;找出所有数的共有质因数,并取每个共有质因数的最低次幂;将这些最低次幂的质因
  • 2024-06-303170 找出最小公倍数
    解法一:循环找#include<bits/stdc++.h>#definef(i,s,e)for(inti=s;i<=e;i++)#definelllonglongusingnamespacestd;constintN=1e3+10,inf=0x3f3f3f3f;intmain(){intn,m;cin>>n>>m;for(inti=n;i<=n*m;
  • 2024-06-303169 找出最大公约数
    解法一:循环倒叙一个个找#include<bits/stdc++.h>#definef(i,s,e)for(inti=s;i<=e;i++)#definelllonglongusingnamespacestd;constintN=1e3+10,inf=0x3f3f3f3f;intmain(){intn,m;cin>>n>>m;for(inti=n;i>=1
  • 2024-06-24判断方程是否有整数解
    描述判断ax+by=c方程是否有解输入描述一行三个数a,b,c输出描述有解则输出YES否则输出NO用例输入1 483用例输出1 NO用例输入2 4812用例输出2 YES提示a,b,c都在int范围内分析一下吧:要判断线性方程(ax+by=c)是否有整数解,可以利用以下的
  • 2024-06-23力扣每日一题 美丽下标对的数目 枚举 哈希
    Problem:2748.美丽下标对的数目
  • 2024-06-22P1072 [NOIP2009 提高组] Hankson 的趣味题【GCD】
    [NOIP2009提高组]Hankson的趣味题题目描述Hanks博士是BT(Bio-Tech,生物技术)领域的知名专家,他的儿子名叫Hankson。现在,刚刚放学回家的Hankson正在思考一个有趣的问题。今天在课堂上,老师讲解了如何求两个正整数
  • 2024-06-22美丽下标对的数目(Lc2748)——计数
    给你一个下标从 0 开始的整数数组 nums 。如果下标对 i、j 满足 0≤i<j<nums.length ,如果 nums[i] 的 第一个数字 和 nums[j] 的 最后一个数字 互质 ,则认为 nums[i] 和 nums[j] 是一组 美丽下标对 。返回 nums 中 美丽下标对 的总数目。对
  • 2024-06-21QOJ #8473. Matrices and Determinants
    唉,不会线性代数了,做了三个小时。为了求行列式,显然要先把\(A\)消成上三角矩阵,记作\(A'\)。我们显然可以在操作\(A\)的时候求出将\(A\)消成\(A'\)的操作矩阵\(M\),则我们可以构造\(A'=B'C'\),再将\(B'\)乘上\(M^{-1}\)就可以得到原来的\(B\)。判掉\(A\)的行列式不
  • 2024-06-21使用 GCD 实现属性的多读单写
    使用GrandCentralDispatch(GCD)实现多读单写的属性首先需要确保在多线程环境下的线程安全性。可以使用GCD提供的读写锁机制dispatch_rwlock_t或者dispatch_queue_t来实现这个功能。Swift版本的实现怎样创建一个并发队列?//使用Swift来实现的首个好处就是:
  • 2024-06-202023 Jiangsu Collegiate Programming Contest, National Invitational of CCPC (Hunan) E. LCM Plus(容斥原理)
    题目思路来源乱搞ac题解枚举gcd,gcd一定是x的因子,由于lcm+gcd=x,有lcm/gcd+1=x/gcd,还有lcm/gcd>=1枚举lcm/gcd=y,显然如果gcd>1,让gcd和lcm同除以gcd即可,所以可以认为gcd=1,问题转化为,大小为k的集合,k个不同的数,满足gcd=1,且lcm=y的方案数,然后写了个大暴力容斥,没想到过了…
  • 2024-06-20CF1285F Classical?
    首先一个很自然的想法就是枚举钦定\(\gcd(a_i,a_j)\)的值为\(d\),然后再枚举所有\(d\)的倍数,钦定它们之间的\(\gcd=d\)时才统计贡献但这样本身浪费了不少时间在重复的枚举上,不妨换个思路,我们直接预先将每个数所有的约数都放入一个集合\(S\)显然\(|S|\le10^5\),而我们此时可以把条
  • 2024-06-202748. 美丽下标对的数目(Rust暴力枚举)
    题目给你一个下标从0开始的整数数组nums。如果下标对i、j满足0≤i<j<nums.length,如果nums[i]的第一个数字和nums[j]的最后一个数字互质,则认为nums[i]和nums[j]是一组美丽下标对。返回nums中美丽下标对的总数目。对于两个整数x和y,如
  • 2024-06-19GDCPC 2024 部分题解
    老年人过来对着会的题口胡几发B.腊肠披萨 题意翻译:给你n个小写字母串,求所有小写字母串两两之间的最长公共前缀的乘方和,对一个任意数取模。比较显然的,看到多串公共前缀直接建Trie统计贡献。建好之后对每个串在Trie上走,每走一步加上当前子树内串个数和父子树内串个数之差,就能
  • 2024-06-18acwing246 区间最大公约数
    给定长度为N的数列A,以及M条指令,每条指令可能是以下两种之一:Clrd,表示把A[l],A[l+1],...A[r]都加上d。Qlr,表示查询A[l],A[l+1],...A[r]的最大公约数。对于每个询问,输出一个整数表示答案。分析:利用差分数组,将区间修改转换成两次单点修改。再用差分数组构造出原数组区间的
  • 2024-06-18绸带最终定理
    复习的东西屁用没有捏。\[\newcommand{\Aut}{\operatorname{Aut}}\newcommand{\Gal}{\operatorname{Gal}}\]若交换幺环唯二理想为零和自身,则其为域,反之亦然。若普通幺环唯二理想为零和自身,其不一定为除环。交换幺环中极大理想的商环为域,而普通幺环中极大理想的商环不一
  • 2024-06-14CF1515G
    CF1515GPhoenixandOdometers首先进行缩点,对于一个点,与它不在同一连通分量的点无法形成回路,所以对每个连通分量分别计算。假设一个点\(u\),有两个长度为\(a\)和\(b\)的环,那么就相当于找两个非负整数\(x\)和\(y\),使得\(ax+by=w\),其中\(w\)为题中的路径长,根据裴蜀定理
  • 2024-06-13欧几里得算法证明
    求证:gcd(a,b)=gcd(b,a%b)a,b的最大公约数,就是b,a%b的最大公约数。 第一步求证:公约数cd(commondivisor)cd(a,b)=cd(b,a%b) 设a>b则a=kb+r(k是整数,r=a%b)(1)式设d是a,b的公约数,也就是d能被a整除,也能被b整除。(1)式除所d得:a/d=kb/d+r/d   因为a/d和kb/d是整数,所以
  • 2024-06-12两个 GCD 经典问题
    相当Trivial的一篇东西。[ABC177E]Coprime给定\(n\)个数\(a_{1\simn}\),值域为\(V\)。求:是否全部互质是否两两互质问题1:是否全部互质即求\(\gcd\limits_{i=1}^na_i\)是否为\(1\)。直接\(1\simn\)辗转相除求\(\gcd\)。时间复杂度\(O(n+\logV)\)。(
  • 2024-06-126.12高一高考集训欢乐赛
    前面是题解,后面是垃圾话T1Efim与奇怪的成绩贪心的找第一个可以四舍五入的,然后往上进位。T2BeautifulIPAddresses因为回文,所以\(n\ge7\)太长了,不合法,并且只用找一半,爆搜check即可。T3装饰结论题?发现两个上界:\(\frac{a+b+c}{3},a+b+c-\max(a,b,c)\),答案就是两者中较
  • 2024-06-07最大公约数(gcd())和最小公倍数(lcm())的c语言和c++详细解法
    最大公约数(gcd())和最小公倍数(lcm())最大公约数:定义:两个或多个整数共有的约数中最大的一个。例如:整数12和18,他们的公约数有1、2、3、6,其中最大的公约数是6。c语言解法:辗转相除法和更相减损法1、辗转相除法:思路:先求解较大的数除以较小的数的余数,再用较小的数除以前
  • 2024-06-07Codeforces Round 950 (Div. 3) A B C D E
    A.ProblemGeneratortimelimitpertest:1secondmemorylimitpertest:256megabytesinput:standardinputoutput:standardoutputVladisplanningtoholdm
  • 2024-06-07JZOJ5787 轨道
    JZOJ5787轨道题目大意给出\(n\),\(m\)。需要构造一个长度为\(n\)的正整数序列\(A\),其中\(A_i\in[1,m]\)。给出一个正整数\(K\)。你的序列需要使的存在一个正整数\(V\),使得\(V\cdotK=\prodA_i\)且\(V\)与\(K\)互质。求出构造方案数。其中\(n\leq30001
  • 2024-06-06数论
    数论扩展欧几里得(\(exgcd\))用于求解不定方程\(ax+by=k\)且\(gcd(a,b)|k\)的解。令\(ax+by=gcd(a,b)\)。求\(k\)的话只需要将\(x,y\)乘上\(\dfrac{k}{gcd(a,b)}\)。\[gcd(a,b)=gcd(b,a\%b)\]\[ax_1+by_1=bx_2+(a-\lfloor\dfrac{a}{b}\rfloor\timesb)y_2\]\[ax_1+by
  • 2024-06-06部分数论学习笔记
    数论分块若可以\(O(1)\)计算\(f(r)-f(l)\),那么就可以\(O(\sqrtn)\)计算\(\sum^n_{i=1}f(i)(g\lfloor\frac{n}{i}\rfloor)\)。关于\(l,r\)的含义与计算:含义:\(\forallx\in[l,r],\lfloor\frac{n}{x}\rfloor\)相等计算:刚开始\(l\)肯定为\(1\),如何理解\(r=