自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Kali linux 2020.03详细安装教程

kali linux2020.03 安装步骤:下载并且安装虚拟机,本文采用VMware Workstation Pro 16,作为安装系统的基本环境 下载kali linux2020.03镜像文件:链接:https://pan.baidu.com/s/19atg2GTTIxsu5--ThmqJCw 提取码:yubt复制这段内容后打开百度网盘手机App,操作更方便哦--来自百度网盘超级会员V4的分享 3.新建一个虚拟机:4.选择kali linux 2020.3 iso镜像...

2021-04-29 23:59:34 1962 2

原创 线索二叉树(中序线索所及遍历)

经过对先序、中序、后序等方式遍历后,可以将二叉树的节点按照一定的规则排列成一个线性序列,即对树这样一个非线性结够进行线性化操作,使得每个节点(除了第一个和最个一个)在个序列中只有唯一的前趋和唯一的后继。(第一个有唯一的后继承,最后一个有唯一的前趋)。希望很快得到一个节点的前趋和后继,但是有不希望每次都对二叉树进行遍历,便引入了线索二叉树为了记录节点的前趋和后继,可以在原来的节点中增加指向前趋和后继的指针域。但是直接这样做会大大浪费存储空间,考虑到 n 个节点 会有 ( N+1 )个空指针,因此我们可

2020-10-26 21:35:16 2469

原创 二插树的创建和递归遍历和非递归遍历

二插树的创建和遍历(非递归形式实现:中序遍历 先序遍历 后续遍历 层次遍历 )#include<iostream>#include<cstdio>using namespace std;const int Maxsize=1000;typedef struct node{ char ch; struct node *lchild,*rchild; bool flag;///标记后序遍历中第几次被访问} BTree_node;BTree...

2020-10-22 21:55:49 183

原创 模式匹配算法

下面分别介绍:朴素模式匹配算法 和 改进模式匹配算法(KMP)朴素模式匹配算法思想:从目标S中的第一个字符开始和模式T中的的第一个比较(用 i 和 j 分别指示S串和T串中正在比较字符的位置),若相等,则继续逐个比较后续字符,否则, 从S 的第二字符重新开始匹配,直到匹配完成。核心就是 i = i - j +1 ; //其中 j 就是已经匹配字符的个数 。+1 带表下一次匹配的位置。///朴素匹配#include<iostream>#include<cstdio...

2020-10-20 21:15:55 1411

原创 链队列

队列的链式存储结构简称链队列,它是限制仅在表头删除和表尾插入的单链表。显然仅有单链表的头指针不方便在表尾进行插入操作,为此在新增加一个尾指针,指向链表上最后一个节点。于是,链队列由一个头指针和一个尾指针唯一确定。和顺序表一样,把头指针和尾指针封装在一个结构体中。为了运算方便,我们在头指针(Front) 前面附件一个头节点,且头指针指向这个头节点。(队列为空时:Q->Rear==Q->Front)。原理图如下:队列的头尾指针和头节点是分开定义,如果模拟过程受到影响,可以理解为 通过

2020-10-19 20:54:28 343

原创 队列 和 循环队列

队列也是一种运算受限制的线性表,它只允许在表的一端进行插入,而另外一段只允许进行删除。允许删除的一端称为队头(Front);允许删除的一端称为队尾(Rear)。顺序队列实际上是受限的顺序表,和顺序表一样,顺序队列也必须采用一个数组来存放当前数据元素。当队尾(Rear)达到 最大位置时(Maxsize)。 表示此时空间不足,已经不能在入队了。但是随着我们出队Front 向前移动, (0~Front) 的空间是剩余的。 我们称这种现象为假上溢。为了克服假上溢现象:我们讲队列的头尾连起来形成一个环

2020-10-18 21:56:54 446

原创 顺序栈 和链栈

栈是一种特殊的线性表,因此可以用线性表的方法来存储栈。最简单的方法就是用一维数组来存储。由于栈底固定不变的,而栈顶随进出栈操作动态变化的,因此为了实现对的栈的操作,必须记住栈顶的当前位置。顺序栈优缺点:优点:简单、存储密度高。确定:即使栈的长度很长,也还是可能发生上溢。当栈的容量不固定时,必须设置栈的长度以使其可以容纳更多的元素,容易浪费空间。#include<iostream>#include<cstdio>using namespace std;const

2020-10-18 19:07:56 9967 2

原创 双向循环链表

在每个节点增加一个指向前驱的指针,就可以实现双向查找。查找第一个和最后一个节点的时间复杂度 都可以达到 O(1)其他操作和单链表类似;插入、删除、查找 等。在实现的时候一定要注意指针的向后循序:#include<iostream>#include<cstdio>using namespace std;typedef struct node{ int va; struct node *prior;///前驱 struct node *.

2020-10-17 20:05:17 80

原创 单向循环链表

实质就是把链的最后一个节点指向 头注意 区分 单向循环链表,和 双向循环链表思想: 利用带头节点的构造的循环链表, 先初始化一个环;linklist *Initlinklist() ///初始化循环链表{ linklist *L; L=(linklist*)malloc(sizeof(linklist)); L->next=L;///将链的最后指向头,形成环}最后添加节点,实质就是插入节点。#include<iostream>#inc...

2020-10-16 21:43:02 149

原创 链表合并

将两个递增的单链表合并为一个递增的单链表,要求不另外开辟空间。基本思想:设两个递增的带头节点的 递增单链表 La 、Lb;(根据自己需要合并到一根链上)假设合并到 La 这个链上:定义 指针 r , u, p , q /// r 指向 la 的头节点, p 指向 la 的 第一个数据单元 ,q 指向 lb 的第一个数据单元 。//此时的 r->next=q;比较 p 和q 所指单元数据的大小。如果 lb 的数据小,则 用 r 指向 q //r->next=q;利用..

2020-10-16 19:50:35 852

原创 单链表(创建、查找、删除、插入)

#include<iostream>#include<cstdio>using namespace std;typedef struct node{ char value; struct node*next;}linklist;linklist *Create_ListF(){///头插法创建单链表 char ch; linklist *head,*p; head=NULL; while(cin>>ch) { ...

2020-10-14 19:54:45 413

原创 矩阵相乘求解最小数乘次数

矩阵连乘问题:给定n 个矩阵(A0,A1,....An-1) 其中 Ai 和 Ai+1 是可乘的, i=0, 1,... , n-2 .求解计算这n 个矩阵的连乘积A0A1....An-1 。由于矩阵连乘满足结合律,因此矩阵的乘法可以有多种不同的计算次序,每种计算次序对应不同的数乘次数。可以利用加括号的方式确定计算次序。如果矩阵连乘完全加了括号,则说明计算次序确定。例如 三个矩阵{A0,A1,A2} 连乘,其中矩阵的维数 分别为 10*100 100*5 和 5*50其中有两...

2020-10-12 15:50:09 3886

原创 归并排序和快速排序

归并排序:归并排序(MergeSort)是将两个或两个以上的有序表合并成一个新的有序表。归并排序算法是使用分治策略实现N 个元素进行排序的算法。基本思想:(分治 + 合并 )当N = 1 时, 终止排序;否则将待排序的元素分成两个大致相同的子集合。分别对两个子集合进行归并排序。最终将排序好的有序子集合合并成所要求的排序结果:例如:对一组待排序的记录: 47 33 25 36 48 58初始关键字 47 33 25 ...

2020-10-10 21:56:24 321

原创 递归求解一个正整数的不同划分数 个数,以及输出不同划分

将一个正整数N 划分为一系列的 正整数之和:N = N1 + N2 + . . . + Nk;其中,N1>=N2>=N3 .... >=Nk,(k>=1) , 改表示称为 正整数N 的一个划分; 不同 划分方式 的种类个数成为划分数 。例如: 将 N=3 划分:3;2+1;1+1+1在对正整数N 的所有划分中, 将最大加数N1 不大于M 的划分数记为 Q(N , M);例如 对于 3 的划分中,我们定义 M=1, 则表示, 对于 3 的划分 最大加数.

2020-10-09 17:33:37 1331

原创 递归实现全排列

递归实现全排列设 R={ r1, r2, ... , rn} 是需要排列的 N 个元素。Ri = R - { ri } 。 设集合 中的元素 全排列记 为 Perm(X) ;(ri)Perm(X) 表示在 全排列 Perm(X)的每一个排列前加上前缀 ri 得到的全排列。例如在 Perm(X) 的排列为 Perm(X)={2 ,1} ,在 Perm(X) 加前缀 ri= 3 ,即得到 riPerm(X) ={ 3 ,2 ,1} 。R 的全排列可以定义为:(1) 当 n=1 时 Pe...

2020-10-08 20:51:35 1313

原创 P4570 [BJWC2011]元素题解

题目描述相传,在远古时期,位于西方大陆的 Magic Land 上,人们已经掌握了用魔法矿石炼制法杖的技术。那时人们就认识到,一个法杖的法力取决于使用的矿石。一般地,矿石越多则法力越强,但物极必反:有时,人们为了获取更强的法力而使用了很多矿石,却在炼制过程中发现魔法矿石全部消失了,从而无法炼制出法杖,这个现象被称为“魔法抵消” 。特别地,如果在炼制过程中使用超过一块同一种矿石,那么一定会发...

2019-08-20 11:26:12 134

原创 线性基-求异或最大,最小,第K小

定义:基:在线性代数中,基(也称为基底)是描述、刻画向量空间的基本工具。向量空间的基是它的一个特殊的子集,基的元素称为基向量。向量空间中任意一个元素,都可以唯一地表示成基向量的线性组合。如果基中元素个数有限,就称向量空间为有限维向量空间,将元素的个数称作向量空间的维数。同样的,线性基是一种特殊的基,它通常会在异或运算中出现,它的意义是:通过原集合S的某一个最小子集S1使得S1内元素相互异或...

2019-08-20 09:35:32 2925 1

原创 Help Hanzo 题解

Amakusa, the evil spiritual leader has captured the beautiful princess Nakururu. The reason behind this is he had a little problem with Hanzo Hattori, the best ninja and the love of Nakururu. After he...

2019-07-09 11:24:35 183

原创 Asgard King(埃氏筛法)

DescriptionThor had great power, but his arrogant and reckless behavior set off an ancient war, and he was demoted into the world as punishment, forced to live with human beings, and finally Thor le...

2019-04-29 20:32:40 124

原创 蒜头君的数轴

今天蒜头君拿到了一个数轴,上边有 n个点,但是蒜头君嫌这根数轴不够优美,想要通过加一些点让它变优美,所谓优美是指考虑相邻两个点的距离,最多只有一对点的距离与其它的不同。蒜头君想知道,他最少需要加多少个点使这个数轴变优美。输入格式输入第一行为一个整数 (1≤n≤100000),表示数轴上的点数。第二行为 nnn 个不重复的整数 x1,x2,...,xn(−1000000000≤xi≤...

2019-03-26 20:53:42 495 1

原创 唯一分解定理的应用 Mysterious Bacteria

Dr. Mob has just discovered a Deathly Bacteria. He named it RC-01. RC-01 has a very strange reproduction system. RC-01 lives exactly x days. Now RC-01 produces exactly p new deadly Bacteria where x = ...

2019-01-18 14:36:34 123

原创 Harmonic Number

In mathematics, the nth harmonic number is the sum of the reciprocals of the first n natural numbers:In this problem, you are given n, you have to find Hn.InputInput starts with an integer T...

2019-01-17 16:27:59 141

原创 Aladdin and the Flying Carpet

It's said that Aladdin had to solve seven mysteries before getting the Magical Lamp which summons a powerful Genie. Here we are concerned about the first mystery.Aladdin was about to enter to a magi...

2019-01-17 14:31:06 84

原创 唯一分解定理

今天做了一个题,非常有意思;如果暴力话根本过不了;最后去学习了一下小学就听说过的唯一分解定理;唯一分解定理:任何大于1的数都可以拆分成素(质)数的乘积eg:12=2*2*3;         20=2*2*5;解释一下上图中的 p 和 a;p代表分解的素数;a代表相应的素数出现的次数代表的是正因数的个数;可以理解成组合推荐题目:https://vjudge....

2019-01-17 14:19:26 509

原创 Trailing Zeroes

You task is to find minimal natural number N, so that N! contains exactly Q zeroes on the trail in decimal notation.As you know N! = 1*2*...*N. For example, 5! = 120, 120 contains one zero on the tr...

2019-01-16 16:31:16 151

原创 欧拉函数以及欧拉降幂以及欧拉筛

欧拉函数的意义:及时欧拉函数的表示方式;他表示的是(1~n)之间与n互质的数的个数(本身和本身不互质;但是1的欧拉值就是1而不是0)在数论,对正整数n,欧拉函数是小于n的正整数中与n互质的数的数目(φ(1)=1)。此函数以其首名研究者欧拉命名(Euler's totient function),它又称为Euler's totient function、φ函数、欧拉商数等。 例如φ(8)=4...

2019-01-16 11:08:47 423

原创 利用扩展欧几里德求逆元

扩展欧几里德求逆元;(逆元与求mod是有区别的;例如3对5的逆元是2而不是3)首先两个数需要互质;只有两个数互相为质数才能存在逆元(不需要满足两个数均为质数)例如;求A对B的逆元;实质就是求不定方程AX-BY=1的解;两个未知数一个方程肯定用扩展欧几里德求解;我们只需要找到扩展欧几里德的基础解就可以了;所求的解就是逆元;所求X为A对B的逆元;所求Y为B对A的逆元;对于利...

2019-01-14 15:10:38 440

原创 扩展欧几里德

我自己里理解的扩展欧几里德求不定方程的解。例如求: ax + by = c ;的解二元一次不定方程的一般形式为ax+by=c。其中 a,b,c 是整数,ab ≠ 0。此方程有整数解的充分必要条件是a、b的最大公约数整除c。设方程的一组整数解  x0,y0;那么该方程的所有整数解为     过程:当 ax+ by =c ;c不为a和b的最大公约数时;我们按照 ax+by=gc...

2018-11-29 21:54:35 181

原创 A - Jungle Roads

The Head Elder of the tropical island of Lagrishan has a problem. A burst of foreign aid money was spent on extra roads between villages some years ago. But the jungle overtakes roads relentlessly, ...

2018-11-28 21:12:50 111

原创 poj2349:Arctic Network(最小生成树模板)

描述:The Department of National Defence (DND) wishes to connect several northern outposts by a wireless network. Two different communication technologies are to be used in establishing the network: ev...

2018-11-21 09:16:35 204

空空如也

空空如也

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

TA关注的人

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