自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 VMware Workstation Pro安装中的问题

最近各种实验都需要不同的操作系统,因此选择了VMware Workstation Pro安装不同的虚拟机。简要说一下我在安装过程中遇到的两个问题把。1、与 vmx86 驱动程序的版本不匹配: 预期为 xxx,实际为 xxx首先说一下我的情况,我是之前安装过更高版本的VMware,删除后,vmx86还是原来的,导致实际版本比预期版本要高。之前一直没想过这个问题,没想到没法向下兼容呢。试了网上的很多方法,还是不行。最终想到找正在安装相同版本的同学要这个文件(不能直接qq传送哦,邮箱是可以的哈哈哈)。然后删掉

2020-05-17 21:39:08 1415

原创 AVL代码模板

AVL是一种自平衡的二叉搜索树,插入的过程中需要判断节点的平衡因子是否大于1,若大于一则需要调整,通常有四种旋转调整的方式(RR,LL,RL,LR),假设当前插入节点为M,平衡因子被破坏的节点为P,若M在P的左节点的左子树上便称为LL。以此类推。对于RR,需要向左旋转进行调整;对于LL需要向右旋转进行调整;LR则是先左旋再右旋;RL是先右旋再左旋。代码模板如下:struct AVL{ ...

2020-05-07 14:18:05 593 1

原创 线段树(以区间求和为例)

线段树是利用了完全二叉树进行实现,将一个线段区间划分成若干个单元区间。对于非叶子节点而言,[a,b],其对应的左儿子的区间为[a,(a+b)/2],其对应的右儿子的区间为[(a+b)/2+1,b]。通常包含有建树,查询,插入,更新等操作,建树的时间复杂度为O(NlogN),其他操作的时间复杂度为O(logN)。下面以区间求和为例给出图示及相关代码:初始化:注意value的数组大小通常设置为...

2020-04-27 21:28:15 833

原创 并查集(Union Find)(不相交集合)

并查集最开始是将N个元素视为N个单独的集合,然后按照一定的顺序将属于同一组的元素进行合并,可以将每个集合看成一棵树,所有的集合则构成了一个森林。查找和合并的过程也可以看成是在树上进行的相关操作。其中利用到了两个较为重要的方法以提高效率:路径压缩和按秩归并。下面将整个并查集的操作封装在了一个类中(disjointset)1、成员变量:vector<int> father;//每个集...

2020-04-27 16:56:35 360 1

原创 析构小技巧

在树和图的结构中,常常涉及到生成节点,中间会涉及到较多的指针,最后也要对这些空间进行管理和析构。1、在新生成节点时,可以采用一个vector进行统一的管理vector<TrieNode*> v;TrieNode* new_node(){ TrieNode* t=new TrieNode(); v.push_back(t); return t;}2...

2020-04-27 11:07:25 187

原创 字符串存储结构Trie树

Trie树主要用于字符串的存储,统计,查找。其中字符串的确定是根据节点在树中的位置所决定的,并不是将字符串的整个信息存在节点中。如下图所示:蓝色节点表示为单词字符串的结尾,图中包含了(ab,ac,b,bcd,cf)1、节点的结构体const int CHAR_NUM=26;//(a-z)struct TrieNode{ TrieNode* child[CHAR_NUM]; ...

2020-04-27 10:58:46 374

原创 STL中set的常用操作

set与multiset篇set中包含的是已经排序完成的一组元素,默认情况下是从小到大,且其中不含有重复元素;multiset与set较为类似,不过其能够支持重复元素,同样下面将介绍相关的操作。1、元素的插入与删除set<int> s;s.insert(3);void erase( iterator pos );//删除相应迭代器指向的元素s.clear();//删除所有的...

2020-04-26 15:08:07 252

原创 STL中vector常用操作简介

vector篇不定长数组vector中包含着连续存储的元素,当我们的题目中数组的长度不能确定时,vector便是很好的一个选择;同时vector在某些情况下还可以当成是一个栈进行操作。以下将介绍我经常用到的相关操作。1、vector初始化vector<int> v;//不定长vector<int> v(N);//N为指定的长度vector<int> v...

2020-04-26 14:32:51 265

原创 路径的输出

关于路径的输出问题来源:最近一直在啃DAG上的动态规划,遇到了一个题目动态规划完成后需要输出路径,输出路径是之前在树中就遇过好多次了的,居然又犯迷糊了,想想还是记录下来。下面以一个简单的例子记录一下:vector<int> path;void print_ans(int i){ path.push_back(i); bool flag=false; ...

2020-04-22 16:17:56 522

原创 #刷体中发现曾经的小误区2(关于double的输出)#

关于double的输出发现问题的背景:今天刷题时,题目要求最后的结果保留一位小数,一个测试样例最终的结果是3.25输出3.3。printf("%.lf\n",t);直接这样输出自己电脑上运行的是3.2。就非常困惑,以前一直默认是直接四舍五入。问同学,她说她一直默认是直接砍掉后面的小数位。结果发现我俩双双错啦!测试例子:double t1 = 2.65;double t2 = 2.655;...

2020-04-21 15:16:00 170

原创 #刷题中发现曾经的小误区#

数组名作为参数一个字符串的题目,功能函数中形参利用了字符指针将一个字符串数组传入,并期望对该字符串进行修改,无返回值。如何插入一段漂亮的代码片void change(int *p,int len){for (int i=0;i<len;i++)p[i]=i+1;}去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.// An highlighted ...

2020-04-19 15:30:33 160

空空如也

空空如也

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

TA关注的人

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