最近在刷数据结构
感觉数据结构题目比图论简单一点;
一、树状数组&线段树基础
树状数组+差分:可以搞一搞区间修改;
树状数组+差分+离散化:还可以用来求逆序对
当然,能用树状数组,基本(不知道是不是全部)都能用线段树。
线段树的操作就复杂的多了:子函数有build(),query(),update(),pushdown()(懒标记下传有点difficult)
线段树练习题:Hotel—— 神仙题目......
二、lca
之前只会用st算法。后来,我选择了tarjan(Orz);
有些要注意的——就是数组大小,建图,建查询树,查询次数注意下,m=n*(n-1)/2。(比如遇到一个题只有10000kb弄了十几次试出来数组开的大小。当然这种恶心的题也不多见)
剩下的就是要仔细,仔细,再仔细。(数据结构不是多恶心就是因为它一般好找错误,比如变量名乱入........)
三、RMQ
st算法的运用