自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 离线算法+并查集+逆向思维 P1197 [JSOI2008] 星球大战

离线算法的适用场景十分广泛,如果发现某个题目中未声明数据的大小关系或者时间顺序时,建议使用离线防止出现wa。

2023-02-12 14:52:57 367

原创 一种隐式的背包问题(与数字或集合相关)

通俗易懂的一种01背包变形的讲解

2022-09-28 20:54:33 223

原创 浅谈记忆化搜索

文章目录一、记忆化搜索是什么?二、记忆化的流程1.保存该状态的值2.获取该状态的值总结一、记忆化搜索是什么?首先我们来看看百度百科的这句话一般说来,动态规划总要遍历所有的状态,而搜索可以排除一些无效状态。更重要的是搜索还可以剪枝,可能剪去大量不必要的状态,因此在空间开销上往往比动态规划要低很多。记忆化算法在求解的时候还是按着自顶向下的顺序,但是每求解一个状态,就将它的解保存下来,以后再次遇到这个状态的时候,就不必重新求解了。这种方法综合了搜索和动态规划两方面的优点,因而还是很有实用价值的。..

2022-05-19 19:21:11 447

原创 【LeetCode 剑指 Offer II 112. 最长递增路径】深搜+记忆化搜索

详细分析最长增长路径

2022-04-22 12:18:30 458 2

原创 实现基数排序处理负数的情况

首先我们需要明白基数排序是使用内存换时间的经典算法,它对空间的要求比较高,我们普遍使用十个桶。这就对内存的消耗十分剧烈。如果我们基于原有的十个桶再为负数开辟十个桶,内存很有可能会爆。我们先将基数排序的代码放置在下面。 private void bucketSort(int[] arr,int left ,int right){ int[][] bucket = new int[10][right-left+1];//构建桶 int[] bucketElem...

2022-03-09 09:53:57 933 1

原创 使用一道例题强化理解栈

在这里我们选取的例题是leetcode中的第20题:有效的括号若使括号有效则每个右括号必有对应的一个左括号。然而括号之间可能存在嵌套,并列等多种不同点组合。如果使用一些基础的枚举或者其他方法可能是行不通的(至少我不会哈哈哈哈)。基于我们学过了栈这种后入先出的抽象数据结构。那么下面由我给大家演示一下。在此之前我们先看一下题目给出的一些提示。题目要求我们返回一个Boolean类型的变量首先给定的字符串的长度大于1,就排除s为null的可能。接着s仅由三种括号组成。这个特点我们...

2022-01-30 11:49:20 580

原创 如何构建AVL树

1.首先我们先定义AVL树的节点class AVlNode<Integer>{ AVlNode(Integer theElement){ this(theElement,null,null); } AVlNode(Integer theElement,AVlNode<Integer>lt,AVlNode<Integer> rt){ element = theElement; left=lt; right=r

2022-01-23 13:15:59 1474

空空如也

空空如也

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

TA关注的人

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