首页 > TAG信息列表 > nowl

【ybt金牌导航6-5-4】【luogu P3157】动态逆序对(CDQ分治)(树状数组)

动态逆序对 题目链接:ybt金牌导航6-5-4 / luogu P3157 题目大意 给你一个排列,每次会删去一些数,然后问你每次删去前这个数组的逆序对数。 思路 首先如果没有删去,我们就直接一个树状数组就好了。 但是它会不断删去,那你考虑删去一个数的时候贡献会减少多少。 那我们分两种情况,一种是在

洛谷 P3658 [USACO17FEB]Why Did the Cow Cross the Road III P(CDQ分治)

传送门 解题思路 对于一个数x,以在第一个排列中的位置作为关键值x,以在第二个排列中的位置作为关键值y,以值本身作为第三个关键值z。 将每个数都用一个三元组(x,y,z)表示出来。 最后答案就是满足 \(x_i<x_j,y_i>y_j,\left\vert {z_i-z_j} \right\vert <k\) 的三元组的个数。 很显然

撤回骗分: 莫队Ⅴ

不删除莫队 为了做字符串被迫学莫队的屑是我了. 模板 询问区间相同的数的最大间隔. 不删除 首先考虑不删除的情况, 维护两个数组 \(Fst\), \(Lst\), 分别表示当前区间内某个数第一次出现的下标和最后一次出现的下标. 每次增加一个元素 \(a_i\), 将对应的 \(Fst\) 或 \(Lst\) 修改