自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 数据结构——Trie字符串

文章目录Trie 字符串模板 Trie 字符串 Trie字符串:快速存储字符串集合 那么它是怎么样的一种结构呢?? 特点:字母的个数不会很多,why? 来看代码的实现吧 题目 AcWing835 Trie字符串 维护一个字符串集合,支持两种操作: “I x”向集合中插入一个字符串x; “Q ...

2020-05-26 15:58:06 16 0

原创 数据结构——kmp字符串

文章目录kmp字符串 kmp字符串 kmp是一种高效存储字符串匹配的算法 简单来说就是给定一个模式(母)串S,以及一个模板(子)串P 求出模板(子)串P在模式(母)串S中所有出现的位置的起始下标。 当然你也可以暴力的去做,但是不如看看kmp的想法吧 遇到两个字符不匹配的情况时,希望可以多跳几个字...

2020-05-26 15:20:18 23 0

原创 数据结构——堆

文章目录堆题解 堆 堆的基础操作:down和up 题目 输入一个长度为n的整数数列,从小到大输出前m小的数 用到的堆操作: down操作即可,把堆构建处理就OK 输出min heap[1],heap[1]=heap[n–],down(1); 题解 ...

2020-05-27 22:16:36 8 0

原创 数据结构——并查集

文章目录并查集题解模板 并查集 并查集就两个操作:一个合并集合、一个查询是2个元素是否在同一集合内 题目 一共有n个数,编号是1~n,最开始每个数各自在一个集合中。 现在要进行m个操作,操作共有两种: “M a b”,将编号为a和b的两个数所在的集合合并,如果两个数已经在同一个集合中,则忽略这...

2020-05-27 10:21:14 13 0

原创 数据结构——单调队列

文章目录单调队列题解 单调队列 队列我们知道,那么单调队列就是队列中存储一列上升或者下降的数 单调队列的典型应用就是处理滑动窗口问题 让我们来看看吧 AcWing154 滑动窗口 给定一个大小为n≤106的数组。 有一个大小为k的滑动窗口,它从数组的最左边移动到最右边。 您只能在窗口中看到k个数...

2020-05-25 22:59:28 11 0

原创 数据结构——单调栈

文章目录单调栈题解 单调栈 单调栈可以用来优化 最常用的情景:给定一个序列,找到序列每一个数左边离它最近且比他小的数 题目 给定一个长度为N的整数数列,输出每个数左边第一个比它小的数,如果不存在则输出-1。 3 4 2 7 5 -1 3 -1 2 2 结论:我们用栈存储一列升序的数,取栈顶即...

2020-05-25 09:40:38 24 0

原创 数据结构——模拟队列

文章目录模拟队列普通队列模板 模拟队列 队列是和栈相对的 栈是后进先出,像一个有底的桶 队列是先进先出,就像排队一样 队列也有两种: 普通队列 循环队列 普通队列 有队头和队尾 当队头大于队尾时说明当前队为空 插入一个数、是从队尾插入、所以++tt 弹出一个数、是从队头弹出,所以hh++ ...

2020-05-24 19:47:26 31 0

原创 数据结构——模拟栈

文章目录模拟栈题解模板 模拟栈 栈是一种什么结构,后进先出 题解 题目AcWing 828 实现一个栈,栈初始为空,支持四种操作: (1) “push x” – 向栈顶插入一个数x; (2) “pop” – 从栈顶弹出一个数; (3) “empty” – 判断栈是否为空; (4) “query...

2020-05-24 17:16:34 24 0

原创 数据结构——双链表

文章目录双链表题解模板 目标:掌握双链表的数据结构 双链表 来看看什么是双链表吧 双链表与单链表的区别,单链表是单项的、而双链表是有左右的 题目 Acwing 827 实现一个双链表,双链表初始为空,支持5种操作: (1) 在最左侧插入一个数; (2) 在最右侧插入一个数; (3) 将第k个插...

2020-05-24 15:22:04 14 0

原创 数据结构——单链表

文章目录单链表题解模板 目标:掌握单链表的数据结构 单链表 单链表常用于存储树和图 我们这里用用数组模拟单链表 用数组效率高,而且让我们更加的理解单链表的数据结构 理解了我画的图,你就知道了单链表需要存储两个信息 值 下一个的索引 单链表的操作 ok,基础的操作就这三个、其余的操作也基本...

2020-05-24 14:50:52 21 0

原创 基本算法——区间合并

文章目录区间合并题解 目标:掌握区间合并 区间合并 什么是区间合并? 那么如何合并呢? 按左端点排序,然后比较第一个的右端点和下一个的左端点、 大于或者等于就合并,否则就又从新的区间开始,合并后呢?右端点就要更新哦 题目 题解 给定 n 个区间 [li,ri],要求合并所有有交集的区间。 ...

2020-05-24 09:28:22 49 0

原创 基本算法——位运算

文章目录位运算 目标:掌握位运算,这种一种小技巧 位运算 Integer.toBinaryString(i) //转化为2进制字符串 Integer.bitCount(i) // 统计二进制中1的个数

2020-05-24 08:24:41 14 0

原创 基本算法——双指针算法

文章目录双指针算法模板题解 目标:掌握双指针的解题方法 注意:双指针的题目首先想暴力解法,然后想双指针的优化方法 一般用双指针的前提是单调性 双指针算法 模板 for (int i = 0, j = 0; i < n; i ++ ) { while (j < i &&a...

2020-05-23 22:31:14 25 0

原创 基本算法——差分

文章目录一维差分题解模板二维差分题解模板 目标,掌握差分的概念、和解题的思路 差分就是前缀和的逆过程!!! 一维差分 什么是一维差分? 那么差分可以用来干嘛呢? 让我们来看这样一个操作 通过差分,我们可以快速对前缀和数组的一个区间的数进去操作 再思考,如何构建差分呢??需要构建嘛 题目 ...

2020-05-23 21:15:26 109 0

原创 基本算法——前缀和

文章目录一维前缀和题解模板二维前缀和题解模板 AcWing795 前缀和 AcWing796 二维矩阵的和 一维前缀和 前缀和的概念: 题目: 输入一个长度为n的整数序列。 接下来再输入m个询问,每个询问输入一对l, r。 对于每个询问,输出原序列中从第l个数到第r个数的和。 题解 看到求区...

2020-05-23 17:31:04 65 0

原创 基本算法——高精度问题

文章目录高精度问题 目标:掌握java中高精度类的使用 高精度问题 主要就是使用大整数类BigInteger 使用BigInteger就基本不用考虑很多问题了 Chapter1; import java.io.*; import java.math.BigInteger; import java...

2020-05-23 11:10:00 121 0

原创 基本算法——二分法

文章目录整数二分题解模板浮点二分题解 目标:掌握整数二分和浮点二分,了解二分的思想 AcWing789 数的范围 整数二分 AcWing790 数的三次方根 浮点二分 这里我要反思之前写的两篇博客,感觉内容上自己思考的太少、而且细节上确实很多点没有讲到 以后会经量把自己的思路也加上去、希望...

2020-05-23 10:45:53 85 0

原创 基本算法——并归排序

掌握并归排序 AcWing787 并归排序 AcWing788 逆序对的数量 目录并归排序并归排序的应用-逆序对的数量 并归排序 并归排序的核心思想是分治 分界点 递归左右 并归 分到不可再分后、合起来就是排序好的了 // 输入和快排的一样 public static void m...

2020-05-22 22:10:45 179 0

原创 基本算法——快速排序

基础算法——快速排序 AcWing P785 快速排序 AcWing P786 第k个数 1. 快排 快排的核心思想: 确定分界点,可以是q[l],q[(l+r)/2]或q[r],我们选用q[l] 调整区间,就是将就是把所有比分界点大的放到右边,所有比分界点小的放到左边 如何调整?双指...

2020-05-22 19:51:10 665 0

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