随笔分类 - 分块
就是各种并不对劲的分块
摘要:题目大意 $n$个数的排列$a_1,...,a_n$。 有$m$次操作,每次删一个数,问删完数后逆序对的个数。 $n\leq10^5;m\leq50000;$ 题解 先算出一开始有多少逆序对。 分块,每删掉一个数,减去和它有关的逆序对。块里暴力扫,块外对每个块算。 代码 一些感想 我当初为啥会挖这个
阅读全文
摘要:题目传送门:-> 看到题目的第一反应当然是暴力:对于串s建后缀自动机,每次询问中,求w对应的子串在s的SAM中的right集合。O(qmk)听上去显然过不了。 数据范围有个∑w<=1e5,也就是说,q*k<=1e5,当q更小或k更小时可以用不同的方法。 k更小时,会发现每个w的子串数可能会很小,子串
阅读全文