- 博客(6)
- 收藏
- 关注
原创 背包问题讲解
背包问题 前言:大年初一,祝大家新的一年心想事成~ 一、01背包 题目背景: 有 n 个物品,第 i 个物品体积为 vi ,价值为 ci ,现在有一个容积为 V 的背包,要求从这 n 件物品中选出一些装入背包中,使得装入背包的物品体积之和不超过背包的容积 V ,并且装入背包的物品价值和最大。 ...
2021-02-12 12:15:16 561 1
原创 LCA问题——倍增算法,Tarjan算法讲解
LCA问题 前言:助力信息奥赛! 1.LCA &RMQ 首先回想一下RMQ问题:给出一个数组,有多次询问,每次询问一段区间内的最大值。
2021-01-24 07:52:06 2175 2
原创 关于差分
差分 什么是差分???? 概念:差分是前缀和的逆运算,是一种简单而巧妙的技巧,常用于优化序列和树的查询操作。 例如序列: 2,7,9,1对应的前缀和序列为:2,9,18,19 。 反过来,2,9,18,19 对应的差分序列为2,7,9,1 。 序列差分 对于一个序列的差分,是用当前项的值减去前一项的值。 有关例题: 给出一个长为n的序列,有m次操作,每次操作对序列一段区间的数加上一个数字,请输出m次操作后的序列。 咱还是先考虑考虑朴素(暴力)算法: 对于每次操作,都暴力的枚举对...
2021-02-03 12:22:33 720
原创 树状数组-讲解
树状数组 前言:这是令我印象最深的数据结构,曾经和自己的队友们一起苦苦地攻克这块的内容,一遍又一遍地敲板子去理解。怀念那时的时光...... 1.树状数组概述 什么是树状数组:树状数组是一种轻量级的数据结构,可以用来解决区间的动态查询修改问题。 从功能上来讲,以下我要介绍它的三个类型的功能???? 1. 单点修改区间查询 2. 区间修改区间查询 3. 区间修改区间查询 操作 描述 复杂度 数组复杂度 建树 初始化线段树 O(n) 木有 ...
2021-01-25 23:24:57 307
原创 Manaher算法 解决最长回文子串问题
最长回文子串问题 前言:2021.1.23,学校网课放假三天,于是就有了这篇。 关于回文串: 对于一个字符串 s ,如果 s = rev(s) ,就称 s 是回文串。其中 rev(s) 表示字符串 s 的翻转。好比“tanggnat”(不要问我这串是啥意思) 。 关于回文子串: 回文串 s 的子串 t 如果是回文串,我们就称 t 是 s 的回文子串。 那么现有如下问题:给出一个字符串 s ,求出 s 最长的回文子串长度。 首先我们先用朴素算法(暴力)解决一下这个问题。 1.暴力算法: 我们可以不从字符串本
2021-01-23 10:20:58 292 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人