自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【算法】线段树

a我又开始了…这次我一定认真整理文章目录简介线段树的构造实现建树与维护区间修改区间查询模板简介线段树是分块思想的树化,或者说是对于信息处理的二进制化,可达到O(logn)级别的处理速度。分块思想:通过将整个序列分为有穷个小块,对于要查询的一段区间,总是可以整合成k个所分块与m个单个元素的信息的并(0<=k,m<=sqrt(n))。线段树只能维护带有结合律的信息。线段树的构造实现建树与维护取儿子函数inline int ls(int p){return p<<1;}

2020-11-18 19:22:20 269

原创 用hashcat破译hash密码

在cmd进入hashcat所在文件夹,使用如下命令。已知结果为8字节字母加数字。密文内容在sha1.txt里面。.\hashcat64.exe -m 100 -a 3 --force sha1.txt "?l?l?l?l?l?l?d?d?d"在hashcat.potfile里找hash结果

2020-05-16 10:31:11 532

原创 C++string用法

@【toc】

2020-04-12 21:06:51 304

原创 二叉树-医院设置

题目描述设有一棵二叉树,如图:其中,圈中的数字表示结点中居民的人口。圈边上数字表示结点编号,现在要求在某个结点上建立一个医院,使所有居民所走的路程之和为最小,同时约定,相邻接点之间的距离为 11。如上图中,若医院建在1 处,则距离和 =4+12+2×20+2×40=136;若医院建在 33 处,则距离和 =4×2+13+20+40=81。输入格式第一行一个整数 nn,表示树的结点数。接...

2020-03-24 19:02:33 705

原创 csp-海港

海港 #include<cstdio>#include<queue>#define rei register intusing namespace std;int n, t, m, x;int temp_nation[1000005];int ans;struct node{ int s, t; //made in china};...

2020-03-14 18:46:50 249

原创 均分纸牌

题目描述有NN堆纸牌,编号分别为 1,2,…,N1,2,…,N。每堆上有若干张,但纸牌总数必为NN的倍数。可以在任一堆上取若干张纸牌,然后移动。移牌规则为:在编号为11堆上取的纸牌,只能移到编号为22的堆上;在编号为NN的堆上取的纸牌,只能移到编号为N-1N−1的堆上;其他堆上取的纸牌,可以移到相邻左边或右边的堆上。现在要求找出一种移动方法,用最少的移动次数使每堆上纸牌数都一样多。例如N=...

2020-02-29 22:36:59 68

原创 malloc背后的系统知识

为什么需要虚拟内存1、物理内存不安全:操作系统的地址直接暴露给用户程序,用户程序可以破坏操作系统。2、同时运行多个程序比较困难:多个用户程序如果都直接引用物理地址,很容易互相干扰。只能通过不断交换物理内存和磁盘来保证物理内存某一时间自由一个程序在运行,但麻烦。3、用户程序大小受限:受制于物理内存大小。虚拟内存虚拟内存的基本思想是:每个程序拥有独立的地址空间(也就是虚拟内存地址,或者称作虚...

2020-02-28 01:21:19 267

原创 csp-公共钥匙盒

问题描述有一个学校的老师共用N个教室,按照规定,所有的钥匙都必须放在公共钥匙盒里,老师不能带钥匙回家。每次老师上课前,都从公共钥匙盒里找到自己上课的教室的钥匙去开门,上完课后,再将钥匙放回到钥匙盒中。  钥匙盒一共有N个挂钩,从左到右排成一排,用来挂N个教室的钥匙。一串钥匙没有固定的悬挂位置,但钥匙上有标识,所以老师们不会弄混钥匙。  每次取钥匙的时候,老师们都会找到自己所需要的钥匙将其取走...

2020-02-12 11:49:32 281 1

原创 csp-小明放学(c++)

题目背景  汉东省政法大学附属中学所在的光明区最近实施了名为“智慧光明”的智慧城市项目。具体到交通领域,通过“智慧光明”终端,可以看到光明区所有红绿灯此时此刻的状态。小明的学校也安装了“智慧光明”终端,小明想利用这个终端给出的信息,估算自己放学回到家的时间。问题描述  一次放学的时候,小明已经规划好了自己回家的路线,并且能够预测经过各个路段的时间。同时,小明通过学校里安装的“智慧光明”终端,...

2020-02-07 20:13:07 400

原创 数据结构-查找

文章目录线性表的查找顺序查找折半查找索引存储结构和分块查找索引存储结构分块查找二叉排序树二叉排序树概念二叉排序树算法设计平衡二叉树平衡二叉树插入调整平衡二叉树的查找B-树和B+树B-树B+树哈希表的查找哈希函数构造方法线性表的查找顺序查找定义被查找的顺序表类型定义如下:#define MAXL <>typedef struct{ KeyType key;//KeyType为...

2019-12-15 10:47:31 190

原创 数据结构-图

文章目录图的概念图的定义图的基本术语图的概念图的定义图G是由顶点集合V(G)和边集合E(G)构成。如果代表边的顶点对是无序的,则称G为无向图,用圆括号序偶表示无向边。有序图用尖括号表示。图的基本术语1、端点和邻接点无向图:若存在一条边(i,j),顶点i、j为端点,它们互为邻接点有向图:存在一条边<i,j>,顶点i为起始端点,j为终止端点,它们互为邻接点。2、顶点的度...

2019-12-14 00:34:41 656

原创 数据结构-树和二叉树

文章目录树树的概念逻辑表示基本术语树的性质树的基本运算二叉树树树的概念定义:T={D,R}。D是包含n个节点的有限集合(n>=0)。当n=0时为空树,否则:1、没有前趋节点,根节点。2、除根节点外,每个节点有且仅有一个前趋节点。3、D中每个节点可以有零个或多个后继节点。逻辑表示1、树形表示法2、文氏图表示法3、凹入表示法4、括号表示法基本术语1、节点的度与树的度:树...

2019-12-09 22:49:13 457

原创 数据结构-数组和稀疏矩阵

文章目录数组数组的存储结构特殊矩阵的压缩存储对称矩阵的压缩存储三角矩阵的压缩存储对角矩阵的压缩存储稀疏矩阵稀疏矩阵的三元组表示数组数组的存储结构将数组的所有元素存储在一块地址连续的内存单元中,这是一种顺序存储结构。性质:1、数组中的数据元素数目固定2、数组中的所有数据元素具有相同的数据类型3、数组中的每个数据元素都有一组唯一的下标4、数组是一种随机存储结构,可随机存取数组中的任意数...

2019-12-05 19:31:41 897

原创 数据结构-串

文章目录串的基本概念串的基本运算串的顺序存储及其基本操作实现串的链式存储及其基本操作实现串的模式匹配BF算法串的基本概念定义:是由零个或多个字符组成的有限序列。串中所含字符的个数称为该串的长度,含零个字符的串称为空串。串相等:当且仅当两个串的长度相等并且各个对应位置上的字符都相同。所有空串都相等。子串:一个串中任意个连续字符组成的子序列(含空串)称为该串的子串。真子串:不包含自身的所有...

2019-12-02 20:43:56 541

原创 数据结构-栈和队列

文章目录栈栈的顺序存储结构及其基本运算实现链栈栈定义:栈是一种只能在一端进行插入或删除操作的线性表。栈顶:允许进行插入、删除操作的一端。栈底:表的另一端。空栈:栈中没有数据元素。进栈/入栈:栈的插入操作。退栈/出栈:栈的删除操作。主要特点:后进先出。栈的顺序存储结构及其基本运算实现假设栈元素最大不超过MaxSize,所有元素都具有同一数据类型ElemType定义顺序栈typ...

2019-12-02 19:28:40 627

原创 数据结构-线性表

目录线性表的基本概念线性表的定义顺序存储结构顺序表顺序表运算实现顺序表算法设计线性表的链式存储结构链表单链表线性表的基本概念线性表的定义线性表是一个具有相同特性的数据元素的有限序列。//相同特性:所有元素属于同一数据类型。序列:数据元素由逻辑序号唯一确定,一个线性表中可以有相同元素个数。逻辑表示:(a1,a2,…,ai,ai+1,…,an),ai表示第i(i表示逻辑位序)个元素顺序存...

2019-12-01 12:37:09 486

原创 数据结构(基数排序)

基数排序分类最低位优先(LSD)和最高位优先(MSD)对序列递增排序,选择最低位优先,越重要的位放到后面。最低位优先排序:对i=0,1,…,d-1,依次做一次分配和收集。由于数据需要放入队列,又要从队列取出来,需要大量元素移动。所以排序数据和队列均采用链表存储更好。#define MAXE 20//线性表中最多元素个数#define MAXR 10//基数的最大取值#define...

2019-11-16 11:32:58 234

原创 数据结构(归并排序)

归并排序基本思路归并排序是多次将相邻两个或两个以上的有序表合并成一个新的有序表。最简单的归并是将相邻两个有序的子表合并成一个有序的表,即二路归并排序。二路归并算法void Merge(RecType R[],int low,int mid,int high){RecType *R1;int i=low,j=mid+1,k=0;R1=(RecType *)malloc((high-...

2019-11-16 10:55:02 142

原创 数据结构(选择排序)

选择排序基本思路无序区选出最小记录放到全局有序区。常见方法:简单选择排序、堆排序。简单选择排序选择最小值int Min(int a[],int n,int i){ int k=i,j; for(j=i;j<n;j++) if(a[j]<a[k])k=j; return a[k]; }void SelectSort(RecT...

2019-11-16 10:23:41 249

原创 数据结构(交换排序)

交换排序基本思路两个记录反序时进行交换。常见的交换排序方法:冒泡排序、快速排序。冒泡排序void BubbleSort(RecType R[],int n){int i,j;bool exchange;RecType tmp;for(i=0;i<n;i++){exchange=false;for(j=n-1;j>i;j--) if(R[j].key<R[j-...

2019-11-16 00:26:43 217

原创 数据结构(插入排序)

插入排序基本思路无序区插入到有序区。主要插入排序方法:(1)直接插入排序(2)折半插入排序(3)希尔排序直接插入排序初始时,有序区只有一个元素R[0],要经过n-1趟排序。void InsertSort(RecType R[],int n){int i,j;RecType tmp;for(i=1;i<n;i++){if(R[i].key<R[i-1].key)...

2019-11-16 00:03:40 370

原创 CCF201712-1 最小差值

问题描述给定n个数,请找出其中相差(差的绝对值)最小的两个数,输出它们的差值的绝对值。输入格式输入第一行包含一个整数n。  第二行包含n个正整数,相邻整数之间使用一个空格分隔。输出格式输出一个整数,表示答案。样例输入51 5 4 8 20样例输出1样例说明相差最小的两个数是5和4,它们之间的差值是1。样例输入59 3 6 1 3样例输出0样例说明有两个相同的...

2019-11-04 18:01:26 215

原创 跳一跳

问题描述近来,跳一跳这款小游戏风靡全国,受到不少玩家的喜爱。  简化后的跳一跳规则如下:玩家每次从当前方块跳到下一个方块,如果没有跳到下一个方块上则游戏结束。  如果跳到了方块上,但没有跳到方块的中心则获得1分;跳到方块中心时,若上一次的得分为1分或这是本局游戏的第一次跳跃则此次得分为2分,否则此次得分比上一次得分多两分(即连续跳到方块中心时,总得分将+2,+4,+6,+8…)。  现在给...

2019-11-04 17:30:06 47

原创 CCF201809-1 卖菜

问题描述在一条街上有n个卖菜的商店,按1至n的顺序排成一排,这些商店都卖一种蔬菜。  第一天,每个商店都自己定了一个价格。店主们希望自己的菜价和其他商店的一致,第二天,每一家商店都会根据他自己和相邻商店的价格调整自己的价格。具体的,每家商店都会将第二天的菜价设置为自己和相邻商店第一天菜价的平均值(用去尾法取整)。  注意,编号为1的商店只有一个相邻的商店2,编号为n的商店只有一个相邻的商店n...

2019-11-04 17:06:04 69

原创 CCF201812-1 小明上学

好8……今日起开始准备CSP,衷心祝愿我能好好学习ORZ题目背景小明是汉东省政法大学附属中学的一名学生,他每天都要骑自行车往返于家和学校。为了能尽可能充足地睡眠,他希望能够预计自己上学所需要的时间。他上学需要经过数段道路,相邻两段道路之间设有至多一盏红绿灯。  京州市的红绿灯是这样工作的:每盏红绿灯有红、黄、绿三盏灯和一个能够显示倒计时的显示牌。假设红绿灯被设定为红灯 r 秒,黄灯 y 秒,...

2019-11-04 16:50:14 49

原创 JS之原型链

对象普通对象最普通的对象:有_proto_属性(指向其原型链),没有prototype属性。原型对象:person.prototype原型对象还有constructor属性(指向构造函数对象)function f1(){};var f2=function(){};var f3=function("n1","n2","return n1+n2");console.log(typeof...

2019-10-26 18:00:41 58

原创 数据结构(10)

图邻接矩阵表示法1、主要特点:一个图的邻接矩阵表示是唯一的。特别适合于稠密图的存储。存储空间为O(n^2)。#define MAXV<最大顶点个数>typedef struct{int no;//顶点编号InfoType info;//顶点其他信息}VertexType;typedef struct{int edges[MAXV][MAXV];//邻接矩阵in...

2019-10-22 23:53:21 201

原创 如何使用样式

1、外部样式表当样式需要被应用到很多页面的时候,外部样式表将是理想的选择。使用外部样式表,你就可以通过更改一个文件来改变整个站点的外观。<link rel="stylesheet" type="text/css" href="mystyle.css">2、内部样式表当单个文件需要特别样式时,就可以使用内部样式表。你可以在 head 部分通过 <style type="t...

2019-09-14 19:08:14 296

原创 js实现图片查询

<head> <meta charset="UTF-8"> <title>Title</title> <style type="text/css"> *{ margin:0px; padding:0px; } #oute...

2019-09-13 11:50:37 378

原创 js笔记(1)

1、转换字符串toString()和String()toString():数值、字符串、对象、布尔都有toString方法;这个方法返回相应的字符串,null和undefined没有toString()方法;String():强制转换, null转换的结果为null;undefined转换的结果为undefined。2、转换数字Number():如果是纯数字的字符串,则直接转换成数字...

2019-09-08 10:28:23 63

原创 history、location、screen对象

1、history对象window.history对象包含浏览器的历史(URL)集合history.back()与在浏览器点击后退按钮相同history.forward()与在浏览器中点击按钮向前相同history.go()进入历史中的某个页面2、location对象window.location对象用于获得当前页面的地址,并把浏览器重定向到新的页面location.hostname...

2019-09-07 18:51:27 199 1

原创 JS计时器

setTimeout为在一定时间间隔后再执行。function startTime(){var date=new Date(); var M=date.getMonth(); var h=date.getHours(); var m=date.getMinutes(); var s=date.getSeconds(); do...

2019-09-04 18:17:36 96

原创 数据结构(8)

二叉树的存储结构顺序存储结构1、完全二叉树顺序存储十分合适2、一般二叉树可能只有少数存储单元被利用,有可能空间浪费3、容易找到一个节点的双亲和孩子用一个数组存储,例如:typedef ElemType SqBTree[MaxSize];SqBTree bt="#ABD#C#E######F";链式存储结构1、比较节省存储空间2、找一个节点的孩子容易,找双亲不易typedef...

2019-08-10 10:39:37 210

原创 数据结构(5)

队列运算受限的线性表,只能取一个端点进行插入操作,另一个端点做删除操作。进行插入的一端叫队尾进行删除的一端叫队首或队头先进先出表顺序队类型typedef struct{ElemType data[MaxSize];int front,rear;//队首和队尾指针}SqQueue;对空条件:rear=front队尾条件:rear=MaxSize-1;元素e进队:rear+...

2019-08-08 10:50:23 131

原创 数据结构(7)

串的模式匹配1、BF算法(简单匹配算法)穷举思路int index(SqString s,SqString t){int i=0,j=0;while(i<s.length&&j<t.length){if(s.data[i]==t.data[j]){i++,j++;}else{i=i-j+1,j=0;}}if(j>=t.length)re...

2019-08-06 13:49:14 364

原创 栈和队列解决迷宫问题

栈#include<stdio.h>#define M 8//行数#define N 8//列数#define maxsize 100//栈最多元素个数 int mg[M+2][N+2]={ //一个迷宫,其四周要加上均为1的外框 {1,1,1,1,1,1,1,1,1,1}, {1,0,...

2019-08-02 10:38:33 374

原创 数据结构(6)

链队创建链队中头节点类型typedef struct{QNode *front;QNode *rear;}LiQueue;1、初始化队列InitQueue(q)void InitQueue(LiQueue *&q){q=(LiQueue *)malloc(sizeof(LiQueue));q->front=q->rear=null;}2、销毁队列De...

2019-07-31 12:31:14 168

原创 数据结构(4)

栈1、允许进行插入、删除操作的一端叫栈顶2、表的另一端叫栈底3、当栈中没有数据元素时称为空栈4、插入叫进栈或入栈5、删除叫退栈或出栈特点:后进先出顺序栈typedef struct{ElemType data[maxsize];int top;//栈顶指针}SqStack;`...

2019-07-24 21:18:29 290

空空如也

空空如也

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

TA关注的人

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