随笔分类 - 笔记
摘要:次小生成树 导入:次小生成树是在最小生成树的基础上求得的,是noip提高组常考点之一, 有着较高的灵活性。 算法简介: 学习次小生成树之前你得先弄明白最小生成树,假设有一n个点m条边的无向 图,求次小生成树基本步骤如下: 1.求出最小生成树,并将所有树边建树。 2.依次枚举非树边,并将其加入树上,形
阅读全文
摘要:导入:如果只对一个整数进行素性测试,通常O(√n )的算法就足够了。 但如果要对许多整数进行素性测试,则有更为高效的算法,其中就包括了 Eratosthenes筛法,简称埃氏筛法。它是一个与辗转相除法一样古老的算法, 可以用于枚举n以内的素数。 算法分解: 首先,我们将2到n范围内的所有整数写下来。
阅读全文
摘要:导入: 在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] =
阅读全文
摘要:导入 定义:用数组来模拟树形结构。 用途:可以解决大部分基于区间上的更新以及求和问题。 树状数组的优点和缺点: 修改和查询的复杂度都是O(logN),而且相比线段树系数要少很多,比传统数组要快,而且容易写。 缺点是遇到复杂的区间问题还是不能解决,功能还是有限 树状数组 一、树状数组介绍 C[1] =
阅读全文
摘要:1.转换说明符 %c 字符 %s 字符串 %d(%i) 有符号十进制整数 %f 浮点数(floa) %llf 浮点数(double)%e(%E) 浮点数指数输出[e-(E-)记数法]%g(%G) 浮点数不显无意义的零"0"%u 无符号十进制整数%o 八进制整数 e.g. 0123%x(%X) 十六进
阅读全文

浙公网安备 33010602011771号