学习笔记
jvruo_shabi
这个作者很懒,什么都没留下…
展开
-
分块学习笔记
别的不说,上来一句分块你????死了(当我没说) 众所周知分块是一种优秀暴力的数据结构思想那你还写了五天。 基本思想就是将一个大的区间分成几个小块,分别暴力维护小块中的信息,求解时再暴力合并怎么说了全是暴力啊。 好吧我们先考虑一个问题: 有一个长度为n的整数数列a。 现在有m个操作,操作的格式有两种: 1 x y,表示修改,将数列第x个数a[x]改为a[x]+y; 2 x y, 表示询问,询问第x个数到第y个数间,最大的一个数是多少。 这不是线段树裸题吗 但是用分块常数小更暴力好写啊qwq。 先直接暴力:原创 2020-11-23 13:22:12 · 183 阅读 · 0 评论 -
树状数组学习摘要
最近本蒟蒻学了树状数组,很喜欢这个数据结构因为这代码确实短。 好了废话不多说直接正题。 树状数组是一种新颖的数据结构,这个数据结构1997年才发明,很年轻的一个数据结构。 这里说一个位运算lowbit,lowbit(x)表示取出x的最后一位1的数值。lowbit(x)=x&-x。 先来一张手绘图形成一个直观的认识:(纯手绘勿喷) 图中a数组就是底层的那个12345678,树状数组就是飘在空中的12345678,我这样描述是不是有点那啥。 好了那这个东西是干啥的呢? 当我们要求出一个不断变化的连续一原创 2020-09-12 11:52:08 · 162 阅读 · 0 评论 -
区间DP笔记
文章目录区间DP的引入例题总结:习题: 区间DP的引入 区间DP是一种特殊的DP,与普通的DP在阶段的划分上往往有所不同。 先来看个栗子: 洛谷P1808 一道人尽皆知的区间DP模板题 这道题大家都做过,通过这一道题可以体会到区间DP的特殊: 他是按照子区间的长度划分阶段,不是按找起点终点等划分。 在很多DP题中,一个区间的答案往往取决于他的子区间的答案,于是区间DP就诞生了。 这道题的分析:(做过的巨佬请绕行) 贪心显然有问题,不采用。 fi,jf_{i,j}fi,j 表示区间 i,ji, ji,j原创 2020-08-29 16:02:12 · 391 阅读 · 1 评论