08 2021 档案
摘要:导入: 在OI比赛中我们常常面临数据类型选择的难题,浮点型大家都会选择double,一般不会爆范围所 以大家也没有什么顾虑,但整型就不一样了,大家习惯了int本人就因为没有开long long无缘省队,在 OI界总是流传这么一句话“一场比赛不开long long,十年OI两行泪”可见数据类型选择的重
阅读全文
摘要:定义:一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的 所有n 个结点,并且有保持图连通的最少的边。常用kruskal算法或prim算法求解。 kruskal算法: 前置知识:并查集判环,优先队列。 算法流程: 1.以每个点为元素建立并查集。 2.将所有边以边长为主元插入优先队
阅读全文
摘要:扩展欧几里得(求解方程 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′−
阅读全文
摘要:欧几里得算法: 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
阅读全文
摘要:基础算法: 贪心: 定义:在进行问题求解的时候,不从整体考虑结果,只考虑当前最优, 得到的是在某种意义上的局部最优解。 适用条件:整体最优一定满足局部最优,并且不依赖后面要做出的选择。 递推: 定义:优当前状态或已知的几个状态求出下一个或之后的某个状态。 适用条件:状态之间存在明显状态转移方程。 递
阅读全文
摘要:导入 概念: 1>线段树的结构: 线段树是一种二叉搜索树。 2>用途: 1.在线维护修改以及查询区间上的最值,求和。 2.扩充到二维线段树(矩阵树)和三维线段树(空间树)。 3>时间复杂度: 对于一维线段树来说,每次更新以及查询的时间复杂度为O(logN)。 线段树 基本内容 对于A[1:6] =
阅读全文
摘要:基数排序 导入:在常见oi比赛中o(n log n ) 的复杂度的排序(快速排序,归并排序,堆排序)已经够各位看官使用但你是否思考过有没有更优的排序算法呢,想必你一定会说桶排序o(n)的时间复杂度确实让其他算法无法比拟可o(m) 的空间一旦m>10^7该算法就只能尴尬离场了,那么真的没有更优的算法可
阅读全文

浙公网安备 33010602011771号