摘要: 扩展欧几里得(求解方程 ax+by=gcd(a,b)) 1>当 b=0时:ax+by=a 故而 x=1,y=0 2>当 b≠0时:因为gcd(a,b)=gcd(b,a%b) 而 bx′+(a%b)y′=gcd(b,a%b) bx′+(a−⌊a/b⌋∗b)y′=gcd(b,a%b) ay′+b(x′− 阅读全文
posted @ 2021-08-23 17:30 君与 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 欧几里得算法: gcd(x,y)=gcd(y,x%y); 边界条件:if(y==0)return x; 证明: 我们设gcd(a,b)=d····(1),a=k*b+c····(2),再令a=k1*d,b=k2*d····(3) 由(2)得c=a-k*b····(4),然后将(1)带入(4)得到:c 阅读全文
posted @ 2021-08-23 17:28 君与 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 基础算法: 贪心: 定义:在进行问题求解的时候,不从整体考虑结果,只考虑当前最优, 得到的是在某种意义上的局部最优解。 适用条件:整体最优一定满足局部最优,并且不依赖后面要做出的选择。 递推: 定义:优当前状态或已知的几个状态求出下一个或之后的某个状态。 适用条件:状态之间存在明显状态转移方程。 递 阅读全文
posted @ 2021-08-23 17:16 君与 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 导入 概念: 1>线段树的结构: 线段树是一种二叉搜索树。 2>用途: 1.在线维护修改以及查询区间上的最值,求和。 2.扩充到二维线段树(矩阵树)和三维线段树(空间树)。 3>时间复杂度: 对于一维线段树来说,每次更新以及查询的时间复杂度为O(logN)。 线段树 基本内容 对于A[1:6] = 阅读全文
posted @ 2021-08-23 17:13 君与 阅读(250) 评论(0) 推荐(0) 编辑