随笔分类 - 算法
摘要:温馨提示:本章内容涉及线性代数知识较多! 一. 矩阵 1. 概念 矩阵 是一个按照长方阵列排列的复数或实数集合,最早来自于方程组的系数及常数所构成的方阵。 说白了,一个 的矩阵可以看作一个 的二维数组,比
阅读全文
摘要: 前言 本篇文章主要记录笔者 NOIP 冲刺阶段复习的各种数据结构题型及 tricks ans tips,同时也用于及时复习与巩固。 那么,开始吧。 树状数组、线段树 知识点 :二维偏序 众所周知,逆序对可以用归并排序离
阅读全文
摘要: 前言 本篇文章主要记录笔者 NOIP 冲刺阶段复习的各种 dp 题型及 tricks ans tips,同时也用于及时复习与巩固。 那么,开始吧。 线性 dp 线性 dp 对我来说是一类很捉摸不定的题型:她太综合了,可以和任何知
阅读全文
摘要:1. 概念 单调队列优化的本质是借助单调性,及时排除不可能的决策,保持候选集合的秩序性。 2. 例题 P1714 切蛋糕 题目大意: 给定一个序列,找出长度不超过 的连续子序列,使得子序列中所有数的和最大。 思路: 要求区间和,首先求出前缀和,然后考虑朴素 dp,不难想到用 \(dp[i
阅读全文
摘要:简介 数位 dp 解决的是与数字有关的一类计数问题,在求解过程中常把一个数字的每一位都拆开来看,比如十进制下就是把千位、百位、十位、个位上的数字都拆开来看,其他进制类比十进制。 数位 dp 的问题一般比较显眼,有几个常见形式: 要求统计满足一定条件的数的数量(即,最终目的为计数); 这些条件经过转化
阅读全文
摘要:1. 离线树状数组 介绍 有一类经典问题:给定一个序列,每次询问一个区间内的元素种类数。 这种题的做法有很多:莫队、分块、主席树……在不强制在线的情况下,他们的效率都较低,有一种效率高、空间小的离线做法:离线树状数组。 例题: P1972 [SDOI2009] HH的项链 题目大意 给定一个长度为
阅读全文
摘要: 状态机介绍 百度百科 简单来说,状态机就是一个数学模型,不是一个实际的机器。它含有几个状态,还有几个函数(或者通俗一点叫“桥梁”),使得这几种状态可以在一定条件下实现相互转化。 是不是和动态规划的状态转移过程很像? 所以有一类型的动态规划题目,它的状态可以在一定的
阅读全文
摘要: :概念 状压 DP 是动态规划的一种,通过将状态压缩为整数来达到优化转移的目的。 简单说来,就是我们通过普通的状态表示无法直接推出状态转移方程了,这时候将当前状态拓展的“轮廓”作为状态表示的一维,而考虑到空间复杂度和计算机原理
阅读全文
摘要: :前置芝士 二叉搜索树 堆 单调栈 :概念 笛卡尔树是一种二叉树,每一个结点由一个键值二元组 构成。要求 满足二叉搜索树的性质(左小右大),而 满足堆的性质(大根堆或小根堆)。 q1:这么
阅读全文
摘要: :前置芝士 归并排序; 树状数组; 重载运算符(这个大概都会吧)。 :介绍 cdq 分治是一种离线分治算法,可用来处理以下几种问题: 解决和点对有关的问题。 1D 动态规划的优化与转移。 通过 CDQ 分治,将一些动态问题转化为静态
阅读全文
摘要: 概念 差分约束系统是一种特殊的 元一次不等式组。 差分约束系统 是一种特殊的 元一次不等式组,它包含 个变量 以及 个约束条件,每个约束条件是由两个其中的变量做差构成的,形如 \[x_
阅读全文
摘要:众所周知,莫队是莫涛大神发明的一种玄学优雅暴力算法,鉴定为:区间查询专业对口,拓展应用十分毒瘤。 莫队的模板特别方便记忆,其实只要领悟了莫队的核心思想,可谓是非常简单。 前置芝士 分块基础思想 排序和自定义 \(\
阅读全文
摘要:前言: 带修主席树的本质并不是主席树,而是树状数组套权值线段树!它并没有可持久化! 所以并没有将这个知识点放到可持久化数据结构的博客里,而是单独拎出来。 正题 刚学习了用可持久化线段树解静态区间第 小,那么拓展一下:如果在此基础上加上单点修改,阁下又该如何应对? P2464 [SDOI2
阅读全文
摘要: 简介 可持久化就是通过每次修改都创建新版本,来保留数据结构回滚与访问历史版本的能力。 可持久化分为两类: 部分可持久化:所有版本都可以访问,但是只有最新版本可以修改; 完全可持久化:所有版本都既可以访问又可以修改。 注意:一个数据结构可持久化当且仅当它的拓补结构在
阅读全文
摘要: 简介 伸展树,也叫 ,是平衡树的一种。所以它也满足二叉搜索树的所有性质。 灵活多变,应用广泛,能够很方便地支持各种动态的区间操作,码量适中。 定义 struct node { int s[2]
阅读全文