GCD
  • 2025-01-08数据结构与算法学习笔记----扩展欧几里得算法
    数据结构与算法学习笔记----扩展欧几里得算法@@author:明月清了个风@@firstpublishtime:2025.1.8ps⭐️涉及裴蜀定理和欧几里得算法(辗转相除法)讲解,扩展欧几里得算法的推导及其应用——线性同余方程的求解Acwing877.扩展欧几里得算法[原题链接](877.扩展欧几
  • 2025-01-05斐波那契与公约数
    斐波那契与公约数设斐波那契数列第\(i\)项为\(f_i\)。\[f_i=\begin{cases}1&(i\leq2)\\f_{i-1}+f_{i-2}&(i>2)\end{cases}\]Lemma1\[\gcd(f_i,f_{i+1})=1\]Proof1数学归纳法。当\(i=1\)时,\(\gcd(f_1,f_2)=\gcd(1,1)=1\)。设\(f_k=a,f_{k+1}=b\),则有\
  • 2025-01-04蓝桥杯2020年省赛C/C++B组第2题 既约分数
    解题思路:本题关键是掌握求最大公约数的方法——辗转相除法,其次就是注意如何减少遍历次数,我们不需要进行完全枚举,因为既然是既约分数,它本身的分子和分母倒过来组成的新的数也是既约分数,我们只需要统计一边即可,将统计完的的结果×2-1便是最终结果(因为1/1倒过来一样,所以要减去这
  • 2024-12-292024.12.28 周六
    2024.12.28周六Q1.1100Youaregiventwointegers$l\ler$.Youneedtofindpositiveintegers$a$and$b$suchthatthefollowingconditionsaresimultaneouslysatisfied:$l\lea+b\ler$$\gcd(a,b)\neq1$orreportthattheydonotexist.
  • 2024-12-29数论基础A
    数论基础A欧几里得算法(辗转相除法)求最大公约数GCD有两个整数\(a,b(a>b)\),记它们的最大公约数为\(gcd(a,b)\),对于任意的\(a,b\ne0\)满足等式:\[gcd(a,b)=gcd(b,a\%b)\]充分性证明:设\(d\)为\(a,b\)的最大公约数,那么有\(d\mida\)和\(d\midb\)成立,组合出\(d
  • 2024-12-26图论乱讲
    因为有个人说我选的题目太难了,所以我决定把难度控制在黑题以下,于是全部选择了一些紫题。下面可能会用到一些知识,别担心都是学过的和一些概念,如果不会那么事后可以去看看:裴蜀定理tarjan2-satCF1680F如果原图是二分图,那么直接进行染色即可,下面考虑不是二分图的情况。因为一
  • 2024-12-26裴蜀定理的证明
    定理内容对于任意不全为\(0\)的整数\(a,b\),方程\(ax+by=\gcd(a,b)\)一定有整数解\(x,y\)。证明引理\(1\)对于两个正整数\(a,b\)满足\(a>b\)可以推出\(\gcd(a,b)=\gcd(b,a\bmodb)\)。设\(a=kb+c,d\mid\gcd(a,b)\),那么一定有\(d\mida,d\midb\)。通过移项可以
  • 2024-12-262024.12.26 考试总结
    \(55+42+50=147,rk2\)。T1序列直接上吉司机线段树,特判\(+\0\)情况即可。我猜测时间复杂度是\(O(n\log^2n)\)。#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;constintN=4e5+5;intn,m,mn[N],nn[N],ad[N];intadn[N],chg[N],chgn[N];voidpu
  • 2024-12-25P1306 斐波那契公约数
    P1306斐波那契公约数对于Fibonacci数列:\[f_i=\begin{cases}[i=1]&i\leq1\\f_{i-1}+f_{i-2}&i\gt1\end{cases}\]请求出\(f_n\)与\(f_m\)的最大公约数,即\(\gcd(f_n,f_m)\)。数据规模与约定对于\(100\%\)的数据,保证\(1\l
  • 2024-12-25Border理论
    简单的是真简单,难的几乎到天花板。约定一般\(n\)表示原串长度,\(\Sigma\)为字符集。定义字符串的一段前缀能和一段后缀完全匹配(非原串),则称这个前缀/后缀为原串的一个Border。对任意合法\(i\),\(s_i=s_{i+p}\),则称\(p\)为原串的一个周期。\(p\midn\)时称之整周期。各种性质或
  • 2024-12-25Problem about GCD
    思路首先容易发现题目相当于让你找到一个互质数对\((a,b)\)使得\(l\leqa\cdotG\leqb\cdotG\leqr\),求\(b-a\)最大化然后你发现区间缩小量并不大,简单的,问题可以视作在一个\(10^{18}\)的区间里找互质数对很快你发现,如果从左到右扫\(a\),从右到左扫
  • 2024-12-23写一个方法找出两个数的最小公倍数
    在前端开发中,你可以使用JavaScript来写一个方法找出两个数的最小公倍数(LeastCommonMultiple,LCM)。最小公倍数可以通过两数的乘积除以它们的最大公约数(GreatestCommonDivisor,GCD)来得到。以下是一个简单的JavaScript函数,用于计算两个数的最小公倍数:functiongcd(a,b){
  • 2024-12-22CISCN & CCB crypto
    CISCN&CCBcryptorasnd第一部分h1=x1*p+y1*q-0x114h2=x2*p+y2*q-0x514消去p后爆破h1、h2即可fromCrypto.Util.numberimport*fromgmpy2import*fromtqdmimport*c=n=a=b=e=0x10001forx1inrange(2**8,2**11):forx2inran
  • 2024-12-21二元一次方程的整数解、逆元及有理数求模
    前言C++算法与数据结构打开打包代码的方法兼述单元测试一,f(a,b)求ax+by=1的任意解,a>0,b>0,且a、b互质。暴力做法,辗转相减法:如果a>b,则(a-b)和b互质,且都大于0。a<b,类似。a,a==b,a,b互质说明是a和b,都是1。故返回(0,1)。b,a>b则令(a-b)x+by=1的解为(x1,y1),即ax1+b(y1
  • 2024-12-19Visual Studio C++ 汇编 混合编程
    VisualStudioC++汇编混合编程实验要求请用汇编语言编写实现GCD递推公式的子程序,对入口和出口参数形式不做要求,但需要用C语言函数来获取输入、调用汇编递推子程序,并且用C语言显示子程序返回的结果。VisualStudio2020下载下载时勾选C++桌面开发选项。环境配置选择
  • 2024-12-19javascript 两点之间的积分点数(Number of Integral Points between Two Points)
    给定两点p(x1,y1)和q(x2,y2),计算连接它们线上的积分点的数量。输入:x1=2,y1=2,x2=5,y2=5输出:2解释:连接(2,2)和(5,5)的线上只有2个整数点。这两个点是(3,3)和(4,4)。输入:x1=1,y1=9,x2=8,y2=16输出:6解释:连接(1,9)和(8,16)的线上有6个整数
  • 2024-12-17最小(大)栈、求最大公约数、判断一个数是否为2的整数次幂
    2.最小(大)栈问题题目实现一个栈,该栈带有出栈(pop),入栈(push),取最小元素(getMin)3个方法。且要保证这3个方法的时间复杂度都是O(1)。思路1.设原有的栈为main栈,此时创建一个额外的min栈,用于辅助main栈。2.当第1个元素,进main栈时,让该元素,也进入min栈,这个唯一的元素也是main栈的
  • 2024-12-16题解 - 最小的Y
    题目描述程序设计与数学密切相关,所以兴趣小组的辅导老师经常拿一些有趣的数学题来让大家思考。一次课上,辅导老师又拿出了一个有趣的数学问题,题目是这样的:给你两个正整数x和z,求最小的整数y,使得x×y以后再除以z的余数为0。比如x=3,z=6,求最小的y。题目一出,马上有同学说:最小
  • 2024-12-16第二届CN-fnst::CTF个人wp
     前言这是博主这队最终排名害,出题人。。。。我想说。。。。有点啥,你应该懂的 QWQ——>TWT(╯‵□′)╯︵┻━┻一定要看到最后,看看博主是怎么破防的!!!话不多说!!!上题           Crypto:签到1,下载宽窄文件,然后打开看完之后没啥思路,文件提
  • 2024-12-14P6786 「SWTR-6」GCDs & LCMs
    有意思的推式子题一开始看到这个式子是不知所措的,推理出来的结论倒是挺有意思的,还是第一次遇到这样推理的。一开始是打算直接枚举的,时间复杂度太高了,这个式子有什么意义呢?x+y+gcd(x,y)=lcm(x,y)x等于y时,显然不成立当y>x时,这时候就需要猜了。x+y+gcd(x,y)一定小于3y,而lcm又是y的
  • 2024-12-13【笔记】数论初步
    1.整除和同余1.1整除1.1.1定义\(\text{如果有}a,b,c\inN,\text{且}b=a\timesc,\text{则称}a\text{整除}b,\text{记作}a\midb\)1.1.2性质\(a\mida\)若\(a\midb\)且\(b\midc\),则\(a\midc\)若\(a\midb_1,a\midb_2,\cdots,a\midb_n\),则\(a\
  • 2024-12-12质数-质数筛选、质因数分解、互质判定
    质数筛选对于一个正整数N,一次性求出 1~N 之间所有的质数,即为质数筛选。显然根据上述「质数判定」的内容,我们可以通过枚举 1~N 的所有数,再依次使用「试除法」来判定其是否为质数,从而完成质数的筛选。但此种方法的时间复杂度过高,为 O(N√N) 。质数筛选经典方法:「Eratosthene
  • 2024-12-115个gcd(手搓)
    5种GCD方法//更相减损术intgcd(inta,intb){while(a!=b){if(a>b){a-=b;}else{b-=a;}}returna;}//递归版intgcd(inta,intb){returna==b?a:a>b?gcd(a-b,b):gcd(a,b-a);}//辗转相除法intgcd(inta,intb){whil
  • 2024-12-11一些小东西
    万能头:#include<bits/stdc++.h>cin加速:ios::sync_with_stdio(0);cin.tie(0);快读:inlineintread(){ intx=0,f=1;charch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0�
  • 2024-12-10CodeTON Round 9 D.Shohag Loves GCD
    思路(贪心+唯一分解定理)这个题其实只需要考虑一件事:记答案数组为\(a\),对于两个不同下标\(i\)和\(j\),当\(\gcd(i,j)=\min(i,j)\)时,我们只需要让\(a_{\max(i,j)}<a_{\min(i,j)}\)即可。证明:任意两个数\(x,y\),一定有\(\gcd(x,y)\leq\min(x,y)\)。第一种情况,如果