自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

转载 线段树专题

转载自:http://blog.csdn.net/metalseed/article/details/8039326 以及NOTONLYSUCCESS大神的博客 一:线段树基本概念1:概述线段树,类似区间树,是一个完全二叉树,它在各个节点保存一条线段(数组中的一段子数组),主要用于高效解决连续区间的动态查询问题,由于二叉结构的特性,它基本能保持每个操作的复杂度为O(lgN)!...

2018-12-17 20:41:03 194

转载 《大话设计模式》C++设计模式

转载地址:https://www.jianshu.com/p/c951adc6aafb我是看《大话设计模式》学的设计模式,书上的例子是用C#写的,并且为了清晰地表达设计模式的优点写的代码很庞大。我这里用C++改写一下,做一下简化,以方便复习和总结,顺带练习一下画UML图。这里可以认为所有的类都是定义在服务端的,而main函数在客户端。简单工厂模式三种工厂模式都是创建型的设计模式。现在...

2018-12-17 19:46:01 764

原创 判断图的连通性方法(DFS,BFS,并查集)

判断图是否连通,可用dfs和bfs遍历图算法,注意点数目较多,又是稀疏图的话,最后使用邻接表的方法存储。另外推荐采用的是并查集的方法。初始化时将每个节点看作一个集合,则每给出一条边即把两个集合合并。最后遍历所有点,有几个集合便有几个连通分量,若只有一个集合说明图连通。并查集方法通常情况下时间效率较高,还能判断一个图是否有回路,在kruskal算法中也可以使用。(1)DFS判断int...

2018-09-16 01:02:53 14504

原创 AVL平衡二叉树模板

平衡二叉树是二叉查找树。AVL树的特点:任意结点的左子树与右子树的高度之差绝对值不超过1。计算:某结点的平衡因子=左子树的高度-右子树的高度 保证每个结点的平衡因子绝对值不超过1,则AVL树高度始终保持在O(logn)级别,查找一次结点的时间复杂度保持在O(logn)级别。下面是建立AVL树的模板:#include <cstdio>#include <...

2018-09-05 22:47:06 367

原创 动态规划算法笔记整理

动态规划:将一个复杂的问题分解成若干个子问题,通过综合子问题的最优解来得到原问题的最优解 动态规划会将每个求解过的子问题的解记录下来,这样下一次碰到同样的子问题时,就可以直接使用之前记录的结果,而不是重复计算 可以用递归或者递推的写法实现,递归的写法又叫记忆化搜索 重叠子问题:如果一个问题可以被分解成若干个子问题,且这些子问题会重复出现,就称这个问题拥有重叠子问题。 一个问题必须拥有重叠...

2018-09-05 22:22:09 219

原创 PAT 甲级 A1114 Family Property(并查集)

PAT Advanced Level 1114 Family Property今天磕了蛮久才把这道题磕出来。。这道题用并查集做就可以。传统的并查集是int father[]数组,这里我们找最小值。所以合并的Union函数里不是直接father[fa]=fb,而是用father[max(fa,fb)]=min(fa,fb)。当然我们这里数组名不用father表示,我采用了minID作为数...

2018-09-03 00:50:00 312

原创 关于release和debug版本不能混用的教训

之前改老师写好的MFC的一个图像类的lib库,重新生成之后,调用lib的项目一直报错。错误如下:大致就是检测到lib文件里各种.obj不匹配。找了蛮久问题,后来发现是版本不兼容的问题。 vs中的工程有debug和release两个版本,我的lib库项目用debug版本编译,调用的项目是用release版本编译的。需要强调一下:静态链接库的生成与使用需要用相同版本。为什...

2018-04-03 00:21:45 5322

转载 完全二叉树的结点数

完全二叉树有一个关于结点数的性质: 结点从1开始编号,层序。那么分每一个结点(编号为i)的左孩子结点是2i,右孩子结点编号是2i+1. 反之,根据孩子结点的编号可以推知父结点的编号:孩子结点编号的一半取整。下面是一个应用的例子: 一棵完全二叉树有1001个结点。其中叶结点的个数是几个?分析: 1001个结点,则最后一个结点的编号是1001,那么它的父亲结点编号是500,注意,这个并不一

2018-04-02 00:41:18 5244 4

原创 组合数取模、乘法逆元解法

这两天看到求幂模的时候有一种很快的方法,在组合数求模的lucas方法中也适用。假设未知数分别为a、b、p,需要求a^b%p。根据数学原理,我们可以知道a^(b+c)=a^b*a^c。所以这里,我们把b的二进制拆分,从b最小的一位开始看,每次只看b一位上的数,如果是1,说明这个位上需要乘a,计算累乘a模p,再看下一位。这里我们可以用位运算b&1判断b的最小一位是否是1,再用b>>...

2018-03-10 19:40:22 895

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除