摘要:
题意: 交换序列中两个元素,求逆序对 做分块做到这道题...一看不是三维偏序嘛.... 作为不会树套树的蒟蒻就写CDQ分治吧.... 对时间分治...x排序...y树状数组... 交换拆成两个插入两个删除,保存一下类型就行了 才发现逆序对问题的删除操作不用时间倒流也可以,直接减去它形成的逆序对数并且 阅读全文
摘要:
传送门 题意: 区间加和询问一段区间内整体前缀和的最大值 刚才还在想做完这道题做一道区间加等差数列结果发现这道就是.... 唯一的不同在于前缀和一段区间加上等差数列后,区间后面也要加上一个常数!!! 线段树没法搞吧....分块! 每个块维护整体加标记,首项,公差 修改的时候: 左面不完整的块下放标记 阅读全文
摘要:
题意: N个数,Q组询问,每次问[l,r]中有多少个数出现正偶数次。 和上题一样呀呀呀 稍微改一改交上就行了 写错好多地方...要认真啊... #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> 阅读全文
摘要:
传送门 题面太美不忍不放 分块分块 这种题的一个特点是只有查询,通常需要预处理;加入修改的话需要暴力重构预处理 预处理$f[i][j]$为第i块到第j块的众数,显然$f[i][j]=max{f[i][j-1],j中出现的数}$,复杂度$O(N^2/S)$,常数比较小吧 最近用$pair$上瘾了... 阅读全文
摘要:
题意: 单点修改$a$ 询问$a$的区间和$f$的区间和 原来普通计算机是这道题改编的吧... 对$f$分块,预处理$c[i][j]$为块i中$a_j$出现几次,$O(NH(N))$,只要每个块差分加上然后扫一遍就行了不用树状数组之类的 修改,整块直接改,还要单点修改$a$ 查询,整块直接查,两边暴 阅读全文
摘要:
题意: 修改一个数 从i开始每次到$a_i$,超过n需要几次 分块跑的比LCT都快...... 每个块维护块内每个点几步跳出块并跳到哪个位置 阅读全文