- 博客(26)
- 收藏
- 关注
原创 Hbase 实现增删改查操作
文章目录Linux下实现增删改查准备条件在Linux 实现增删改查用 hbase shell 命令实现操作Linux下实现增删改查准备条件首先在Linux系统大搭建好三台虚拟机,配置好Hadoop,zookeeper以及hbase如果只是用hbase shell 实现表格操作,可以忽略03链接01链接: Hadoop集群配置02 链接hbase安装03 链接:Linux hbase java api配置在Linux 实现增删改查首先要启动Hadoop和hbasehadoop01终端启动
2021-10-08 20:03:22
793
原创 数论之约数
文章目录试除法求约数约数的个数约数之和试除法求约数题目大意:输出n个数,分别输出这n个数所有的约数# include <iostream># include <algorithm># include <vector>using namespace std;const int N = 1e5 + 10;vector<int> solve (int n){ vector<int> a; // 当i是约数,那么n/
2021-09-26 17:58:33
129
原创 stl笔记
vector(变长数组),倍增的思想,支持比较运算(按字典序) 定义:: vector <int> a; 定义:一个vector数组a vector <int> a(10); 定义:一个长度为10的vector数组a vector <int> a(10,3); 定义:一个长度为10的vector数组a,并且所有元素都为3 常用函数:: size(); 返回元素个数 empty(
2021-09-24 09:32:05
167
原创 HTML5之音视频和存储
音频audioaudio 用于在文档中嵌入音频元素。audio标签controls:浏览器提供包括声音、播放进度、播放暂停的控制面板(不同浏览器不一致),用户可以控制音频播放source:规定了多媒体资源, 可以是多个,在 <video> 与 <audio>标签中使用设置多个播放格式不同浏览器支持的音频播放格式有所不同,一般为了兼容效果,会放置多种音频格式,浏览器会自上而下选择符合的音频格式。<audio controls> <source
2021-09-07 12:09:55
389
1
原创 HTML5 画布
文章目录canvas 简介canvas 基本元素画布的建立2D渲染上下文绘制图案绘制直线和三角形矩形圆和圆弧代码图形小结绘制文字图像变换保存与恢复移动canvas 简介<canvas> 是 HTML5 新增的,一个可以使用脚本(通常为JavaScript)在其中绘制图像的 HTML 元素。它可以用来制作照片集或者制作简单的动画,甚至可以进行实时视频处理和渲染。canvas 基本元素与img相似,但没有src 和 alt 属性。在JS脚本中通过id寻找canvas元素,<canva
2021-09-01 20:22:39
267
原创 JavaWeb之HTML
文章目录HTML基本格式HTML 分级标题HTML 段落HTML 链接HTML 图像HTML 元素HTML基本格式超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言。html5不必像python注意缩进,压缩后都是一行基本格式:<!DOCTYPE html><html><head><meta charset="UTF-8"><title>这是网址标题</
2021-08-31 17:52:52
204
1
原创 树与图的BFS——图中点的层次
题意:给定一个 n 个点 m 条边的有向图,图中可能存在重边和自环。所有边的长度都是 1,点的编号为 1∼n。请你求出 1 号点到 n 号点的最短距离,如果从 1 号点无法走到 n 号点,输出 −1。输入:第一行包含两个整数 n 和 m。接下来 m 行,每行包含两个整数 a 和 b,表示存在一条从 a 走到 b 的长度为 1 的边。输出:输出一个整数,表示 1 号点到 n 号点的最短距离思路:层序遍历找出点和点的距离即可模板 有向图的存储和bfsint n, m, idx;int h[
2021-08-30 21:02:36
222
原创 树与图的深搜——树的重心
重心的定义重心是指树中的一个结点,如果将这个点删除后,剩余各个连通块中点数的最大值最小,那么这个节点被称为树的重心。举个例子我们去掉1,树将分为连通块(2,5,8),(3,4,6,9),(7),此时最大连通块点数是4,去掉点2,连通块为(8),(5),(1,4,7,3,6,9),最大连通块点数是6,依次类推,我们会发现1才是树的重心。思路假设我们删除红色节点,那么树会划分成ABC三个部分,我们只需要算出max(size(A),size(B),size(n-A-B))删除点x,对于y,df
2021-08-30 20:10:30
168
原创 DFS补题 红与黑 气候变暖
链接: ACWing 1113# include <bits/stdc++.h>using namespace std;const int N = 200;int dx[5] = {1,-1,0,0} , dy[5] = {0,0,-1,1};int h, w;char g[N][N];int dfs(int a, int b){ g[a][b] = '#'; int ans = 1; for (int i = 0; i < 4; i ++){ int
2021-08-28 15:05:54
91
原创 BFS补题 迷宫 八数码
迷宫问题链接: ACWing 844#include <bits/stdc++.h>using namespace std;typedef pair<int,int> PII;const int N = 200;int g[N][N],f[N][N];int m, n;int dx[5] = {1,-1,0,0} , dy[5] = {0,0,-1,1};void bfs(int a, int b){ queue<PII> q; q.push
2021-08-26 09:57:28
118
原创 DFS BFS简单理解
文章目录BFS DFS介绍实现思路DFS BFS怎么应用DFS BFS对比又水了一篇博客呜呜,第一次尝试写DFS和BFS,做题也迷迷糊糊,看着大佬文章简单写了写总结,后续会补上DFS和BFS的题目。BFS DFS介绍DFS:深度优先搜索,又叫回溯算法。这个算法的核心就是不断的往更深的地方搜索,如果更深的地方搜索失败了,就返回来搜,是一个回溯的过程。BFS:广度优先搜索,也是一种搜索算法,讲究搜索的广度,所以叫广度优先算法。这个算法的核心就是,先把周围的找完,再去找更深的地方。这里区分下dfs和bf
2021-08-25 22:17:51
337
1
原创 dfs回溯return问题
初学dfs时候一直不明白函数里要return干什么…后来看了看大佬们的讨论和文章有了点简单的理解。例题输入一个n,输出n的全排列,n<=9先看第一个代码#include <bits/stdc++.h>using namespace std ;const int N = 10 ;int num[N] ;int value[N] ;int n ;void dfs(int k){ if (k == n + 1){ for (int i = 1 ; i <=
2021-08-25 21:25:43
1253
1
原创 八皇后问题
DFS基本概念深度优先搜索算法(Depth First Search,简称DFS):一种用于遍历或搜索树或图的算法。 沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所在边都己被探寻过或者在搜寻时结点不满足条件,搜索将回溯到发现节点v的那条边的起始节点。整个进程反复进行直到所有节点都被访问为止(不撞南墙不回头)。属于盲目搜索,最糟糕的情况算法时间复杂度为O(!n)。算法思想回溯法(探索与回溯法)是一种选优搜索法,又称为试探法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原
2021-08-25 21:07:45
125
原创 并查集路径优化实现
文章目录支持的操作:基本原理原理解释路径压缩代码实现支持的操作:合并两个集合询问两个元素是否在一个集合中基本原理每个集合用用一棵树表示,树的根节点的idex就是整个集合的idex。每个节点保存了它的父节点,p[x] 表示 x 的父节点。原理解释在同一个acm队里,你我可能互不认识,但是你我可以通过有相同的朋友来成为朋友,也就是朋友的朋友就是朋友。这样神似串联的合并模式岂不是太复杂了想成为朋友那岂不是猴年马月,那么想出一个办法,选出几个ac选手做leader,几个leader再选出leade
2021-08-16 20:26:26
164
原创 trie树 最大异或对
trie树trie树又叫字典树trie 高效地存储和查找字符串集合的数据结构本质根据字符串的每个字符作为节点建树凡是用到trie树,字符不会太多# include <bits/stdc++.h>using namespace std;const int N = 1e5 + 10;int cnt[N] // 以当前这个单词结尾的有多少个int son[N][26];//因为这里假设都是小写字母,所以最多只有26条边int idx; // 单链表用了哪一个点,下标是0的点,既
2021-08-12 22:06:06
260
原创 KMP算法
这里写目录标题KMP算法及其相关概念前缀后缀,部分匹配表介绍KMP算法图解习题KMP算法及其相关概念KMP算法是一个字符串匹配算法,对暴力的那种一一比对的方法进行了优化,使时间复杂度大大降低。KMP算法的作用是在一个已知字符串中查找子串的位置,也叫做串的模式匹配。比如主串s=“goodgoogle”,子串t=“google”。现在我们要找到子串t 在主串s 中的位置。·相关概念:s[] : 模式串,较长的字符串p[] : 模板串,简短的串前缀:除了最后一个字符以外,该字符串的全部头部组合后缀
2021-08-12 19:26:57
157
原创 单调栈和单调队列
文章目录栈和队列基本函数单调栈单调队列栈和队列基本函数#include 栈的头文件#include 队列的头文件定义栈如下:stack s;定义队列如下:queue q;栈的基本操作s.empty() 如果栈为空返回true,否则返回falses.size() 返回栈中元素的个数s.pop() 删除栈顶元素但不返回其值s.top() 返回栈顶的元素s.push() 在栈顶压入新元素队列的基本操作q.empty() 如果队列为空返回true,否则返回falseq.
2021-08-09 22:37:45
208
1
原创 单链表的添加删除操作(静态)
通过数组模拟链表进行操作对于单链表,一个数据有两个值:value和next,分表表示当前值,和下一个数据的指针,比如A,B,C ,A的值是a,他的next指的是B的指针,可以理解为老鹰捉小鸡游戏,后面的人的手抓住前面的人的衣服,通过·前面的衣服,就可以找出后一个人题目描述实现一个单链表,链表初始为空,支持三种操作:(1) 向链表头插入一个数;(2) 删除第k个插入的数后面的数;(3) 在第k个插入的数后插入一个数现在要对该链表进行M次操作,进行完所有操作后,从头到尾输出整个链表。注意:题目中
2021-08-05 20:38:32
186
原创 区间合并
题意 : 将重复区间合并思路 : 将区间顺序读入到结构体中 , 然后按照左端点升序排序 , 若左端点相等 , 按照右端点升序排序,一个区间的右端点大于下一个区间的左端点,那么让这个区间的右端点和下一个区间右端点比较更新最大值# include <iostream># include <algorithm># include <cstring>using namespace std ; const int N = 1e5 + 10 ; int a[N];.
2021-08-03 17:28:04
130
原创 前缀和&差分详解及经典例题补充
文章目录声明一维前缀和介绍前缀和优势二维前缀和介绍二维前缀和模板题一维差分一维差分例题二维差分二维差分习题声明前缀和 与 差分可以理解为互逆的 , 求前缀和 跟 差分通常设数组首项下标为1,方便思考的计算。一维前缀和介绍对于一维数组 a[n] , 存在数组 sum[n],使得 sum[i] = a[1] + a[2] + … + a[i]前缀和优势以O(1)的时间复杂度得到某块区间的总和举个例子:输入一个长度为 n 的整数序列。接下来再输入 m 个询问,每个询问输入一对 l,r。对于每个
2021-07-22 17:14:18
754
2
原创 归并排序详解
归并排序(英语:merge sort)是一种采用了分治思想的排序算法。步骤 :step1: 将数列从中间划分为两部分step2: 调用递归将左右两个子数列继续进行归并排序step3:将两个有序的子序列合并成整个完整数列**(双指针)时间复杂度 :归并排序的最优时间复杂度、平均时间复杂度和最坏时间复杂度均为 O(nlogn)。每递归一层, 每个数列会产生两层子数列空间复杂度 O(n)步骤1 取中间int mid = (left+right)/...
2021-07-20 18:59:53
2233
原创 POJ 2386 DFS
题目:有一个大小为NxM的园子,雨后积起了水。八连通的积水被认为是连接在一起的。请求出园子里总共有多少水洼?(N,M≤100)样例输入:10 12W........WW..WWW.....WWW....WW...WW..........WW..........W....W......W...W.W.....WW.W.W.W.....W..W.W......W...W.......W.样例输出:3————————————————版权声明:本文为CSDN博主「叶梨子」
2021-06-09 20:42:44
125
原创 搜索(c++)
二分查找# include <iostream># include <algorithm># include <cmath># include <string># include <cstring>using namespace std;int main(){ int m , n , x; cin >> n >> m ; int a[1000]; for (int i = 0 ; i < n
2021-06-09 20:33:33
168
原创 大数相加(c++)(包含string char int 转换)
引 : 字符和数字转换头文件 # include <sstream>string --> int
2021-06-05 23:00:31
256
原创 快速幂算法
取模运算:(a*b)%c = ((a%c)*(b%c))%c证明 : 设 a = k1*m + p1; b = k2*m + p2a*bn
2021-06-04 22:50:36
153
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人