
鹅厂的SP之路
文章平均质量分 69
头疼
pourtheworld
DB programmer + UE4 rookie
展开
-
算法-树
算法-树算法-树BSTBST节点模板1. 2021-4-18 不同的二叉搜索树 II2. 2021-4-18 恢复二叉搜索树3. 2021-4-18 先序中序构造BST 后序中序构造BST二叉树结构问题1. 2021-4-18 二叉树展开成链表2. 2021-4-18 二叉树最近公共祖先3. 2021-4-18 满二叉树的next指针4. 2021-4-18 一般二叉树的next指针算法-树BSTBST节点模板struct TreeNode{ int val; TreeNode *left,*r原创 2021-04-18 10:24:55 · 265 阅读 · 0 评论 -
算法-字符串
算法-字符串算法-字符串匹配1.2021-4-8 单模匹配 kmp hdu17112.2021-4-7多模匹配 AC自动机 hdu22223. 2021-4-14 计算器匹配回文1. 2021-3-29 最短回文1.2021-4-10 Manacher hdu3294两个字符串比较1.2021-4-12 LCS最大公共子序列1.2021-4-12 LIS最大递增子序列1.2021-4-13 LCIS最大公共递增子序列算法-字符串匹配1.2021-4-8 单模匹配 kmp hdu1711hdu1711原创 2021-04-17 08:48:55 · 225 阅读 · 0 评论 -
算法-图论
算法-图论图论强联通分量1. 2021-4-6 tarjan算法最短路径1. 2021-4-1 dijsktra最短路径最大值二分图1. 2021-3-31 二分图最大匹配2. 2021-4-1 二分图最小点覆盖图论强联通分量1. 2021-4-6 tarjan算法题目:在一次聚会中,教授们被要求写下自己认可哪位教授的学术成果(也可以写自己,且可能出现重复)。已知,如果教授 A 认可教授 B ,且教授 B 认可教授 C,那么即可视为教授 A 也认可教授 C。现在我们想知道有多少对教授是两两互相认可原创 2021-04-17 08:46:44 · 907 阅读 · 2 评论 -
算法-DP
算法-DP状压DP问题1.2021-4-15 用异或性质判断 奇偶性质2.2021-4-15 判断连续1 相邻1一维DP问题1.2021-4-4 字符串字符结合分析2. 2021-4-4 分类讨论前进的1维DP3. 2021-4-6 考虑时间的1维DP4. 2021-4-8 环形数组1维DP青蛙跳台阶问题1.2021-3-30 3种跳法2.2021-3-30 2种跳法,去掉一次跳一阶的跳法背包问题1. 2021-3-29 01背包树形DP1. 2021-4-7 中序序列的dp问题状压DP问题1.202原创 2021-04-16 15:11:02 · 414 阅读 · 0 评论 -
算法-链表
算法-链表链表单链表1.2021-4-14 指定区间单链表节点反转2.2021-4-15 K 个一组翻转链表链表单链表1.2021-4-14 指定区间单链表节点反转题目:给你单链表的头指针 head 和两个整数 left 和 right ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。示例输入head = [1,2,3,4,5], left = 2, right = 4输出[1,4,3,2,5]思路:两个原创 2021-04-16 15:05:36 · 133 阅读 · 0 评论 -
算法-凸包
算法-凸包凸包凸包边界点问题1. 2021-4-21 andrew逆时针左拐凸包凸包边界点问题1. 2021-4-21 andrew逆时针左拐leetcode48题目:在一个二维的花园中,有一些用 (x, y) 坐标表示的树。由于安装费用十分昂贵,你的任务是先用最短的绳子围起所有的树。只有当所有的树都被绳子包围时,花园才能围好栅栏。你需要找到正好位于栅栏边界上的树的坐标。思路:核心是维护一个栈,Points经过了排序。st[tmp],tmp是栈中当前指针。vis标记的是当前Points的i原创 2021-04-22 13:54:46 · 224 阅读 · 0 评论 -
算法-数组
算法-数组数组数组转置1. 2021-4-16 旋转图像数组数组转置1. 2021-4-16 旋转图像leetcode48题目:给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。示例提示matrix.length == nmatrix[i].length == n1 <= n <= 20-1000 <= matrix[i原创 2021-04-17 09:08:19 · 208 阅读 · 0 评论 -
算法-BFS
算法-BFSBFSbfs在二维数组1. 2021-4-10 十字路口最优解BFSbfs在二维数组1. 2021-4-10 十字路口最优解题目:在小美和小团生活的城市中,有n行m列共计n*m个十字路口,第i行j列的十字路口有两个属性aij,bij。当行人处在i行j列的路口,对于任意非负整数k:当时间处在[k x aij+k x bij), (k+1) x aij+k x bij)时,行人可以选择走到i±1行j列的路口。当时间处在[(k+1) x aij+k x bij), (k+1) x原创 2021-04-17 08:52:20 · 589 阅读 · 1 评论 -
算法-线段树
算法-线段树线段树单点更新 区间查询1. 2021-4-9 hdu1166 求区间和2. 2021-4-9 hdu1754 求区间最大值线段树线段树原理单点更新 区间查询1. 2021-4-9 hdu1166 求区间和hdu1166思路最简单的单点更新,区间查询,用的是非递归的做法。容易出错的点有<<1和<<2的区别。如何识别一行的字符串和多个int呢,可以通过char ch[10],int a,int b。scanf(%s%d%d)实现。另外本题读到End是要原创 2021-04-17 08:51:41 · 123 阅读 · 0 评论 -
算法-DFS
算法-DFSDFS暴力回溯1. 2021-4-7 两次回溯2. 2021-4-8 无向图转有向图DFS暴力回溯1. 2021-4-7 两次回溯题目:现在有n个物品,每一个物品都有一个价值,现在想将这些物品分给两个人,要求这两个人每一个人分到的物品的价值总和相同(个数可以不同,总价值相同即可),剩下的物品就需要扔掉,现在想知道最少需要扔多少价值的物品才能满足要求分给两个人。输入描述:第一行输入一个整数 T,代表有 T 组测试数据。对于每一组测试数据,一行输入一个整数 n ,代表物品的个数。原创 2021-04-17 08:50:30 · 363 阅读 · 0 评论 -
算法-查找
算法-查找查找环形数组1. 2021-4-3 约瑟夫环二分法1.2021-3-30 构建二分法2.2021-4-5 看起来是二叉,但是是二分查找查找环形数组1. 2021-4-3 约瑟夫环题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。输入描述:一行,一个正整数n(1<=n<=1000000)。输出描述:输出答案。示例1输入5输出4说明出局的编号依次为3,1,5,2,最后留下的是4原创 2021-04-17 08:47:29 · 416 阅读 · 0 评论 -
算法-分治
算法-分治分治子问题分类讨论1.2021-4-2 洪水淹发电厂分割分治子问题分类讨论1.2021-4-2 洪水淹发电厂分割题目:伞屉国是一个以太阳能为主要发电手段的国家,因此他们国家中有着非常多的太阳能基站,链接着的基站会组合成一个发电集群。但是不幸的是伞屉国不时会遭遇滔天的洪水,当洪水淹没基站时,基站只能停止发电,同时被迫断开与相邻基站的链接。你作为伞屉国的洪水观察员,有着这样的任务:在洪水到来时,计算出发电集群被洪水淹没后被拆分成了多少个集群。由于远古的宇宙战争的原因,伞屉文明是一个二维世界原创 2021-04-17 08:45:37 · 158 阅读 · 0 评论 -
算法-滑动窗口
算法-滑动窗口滑动窗口双指针1.2021-4-2 替换两个字符最长连续子序列滑动窗口双指针1.2021-4-2 替换两个字符最长连续子序列题目:小A很喜欢字母N,他认为连续的N串是他的幸运串。有一天小A看到了一个全部由大写字母组成的字符串,他被允许改变最多2个大写字母(也允许不改变或者只改变1个大写字母),使得字符串中所包含的最长的连续的N串的长度最长。你能帮助他吗?输入描述:输入的第一行是一个正整数T(0 < T <= 20),表示有T组测试数据。对于每一个测试数据包含一行大写字原创 2021-04-16 15:12:50 · 103 阅读 · 0 评论 -
算法-C++相关
算法-C++相关C++相关小数点精度1.2021-4-3 精度保留小数点后6位%和/1.2021-4- 10取一个数每个位数的数C++相关小数点精度1.2021-4-3 精度保留小数点后6位思路cout.setf(ios::fixed);cout.setprecision(6);随后输出即可,如果忘记了,直接用C输出:printf("%lf",);%和/1.2021-4- 10取一个数每个位数的数题目:小团想要编写一个程序,希望可以统计在M和N之间(M<N,且包含M和N)有原创 2021-04-16 15:12:04 · 257 阅读 · 0 评论 -
算法-缓存置换
算法-缓存置换缓存置换LRU1.2021-4-15 实现LRU缓存置换LRU1.2021-4-15 实现LRU题目:运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制 。实现 LRUCache 类:LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。void put(int key, int value) 如原创 2021-04-16 15:07:43 · 158 阅读 · 0 评论 -
mysql索引
mysql索引索引B- B+B-B+为什么要用B+索引主存存取原理磁盘存取原理局部性原理与磁盘预读B-/+Tree索引的性能分析mysql索引实现MyISAM 索引实现InnoDB 索引实现聚簇索引与非聚簇索引索引索引(Index)是帮助MySQL高效获取数据的数据结构。最基本的查询算法当然是顺序查找(linear search),这种复杂度为O(n)的算法在数据量很大时显然是糟糕的,有更好的二分查找(binary search)、二叉树查找(binary tree search)等可以代替。但每种原创 2021-04-06 11:11:08 · 276 阅读 · 1 评论 -
算法-单调栈
算法总结排序字符串回文DP背包问题01背包排序2021-3-29 双指针题目:给定长度为 m 的序列 T ,求一个长度为 n 且字典序最小的排列.并且要求序列 T 为所求排列的子序列.题目保证这样的排列一定存在.S 是 T 的子序列,当且仅当 S 是 T 通过删除任意数量元素所得到的.字典序是单词在字典中的排列顺序,先比较第一个字母,然后比较第二个字母,依次类推。输入描述:第一行输入两个正整数 n 和 m.第二行输入 m 个数,表示输入序列 T1<= m <= n <转载 2021-03-30 13:00:19 · 226 阅读 · 0 评论