分块
文章平均质量分 67
分块
jpphy0
算法是存在的
展开
-
子序列(混合递推+前缀和 || 分块)
目录问题分析三级目录问题有一个序列 a1,a2,⋯、an(1≤n≤300000,0≤ai<262144)a_1,a_2,\cdots 、a_n(1\leq n \leq 300000, 0\leq a_i < 262144)a1,a2,⋯、an(1≤n≤300000,0≤ai<262144)。求满足 ai&aj=aj且i<ja_i \& a_j = a_j且i<jai&aj=aj且i<j的子序列个数,结果对100000007取余。原创 2021-08-02 15:18:04 · 192 阅读 · 0 评论 -
hdu 5145 NPY and girls(分块+莫队+逆元)
目录问题分析代码问题hdu 5145 NPY and Girls - https://acm.hdu.edu.cn/showproblem.php?pid=5145分析分块莫队算法查询区间排序规则左边界:所在的块为第一关键字(升序)右边界:升序(块号偶数),降序(块号奇数)代码 sort(q+1, q+m+1, [](query x, query y){ return x.L==y.L?((x.L&1)?x.r>y.r:x.r<y.r):x.L&l原创 2021-07-24 16:41:12 · 88 阅读 · 0 评论 -
区间第k小(分块 + 二分)
目录问题分析代码问题序列 a1、⋯、ana_1、\cdots 、a_na1、⋯、an,对序列进行m次区间操作,可能是区间每个元素同时增加一个值,或则查询区间内第K小的值。时间复杂度要求,修改:O(n)O(\sqrt{n})O(n),查询:O(n⋅logn⋅logV)O( \sqrt{n} \cdot \log {n} \cdot \log{V} )O(n⋅logn⋅logV)分析基本思想:分块对分块排序对指定的区间使用二分法求解小于等于某个值的个数代码#include<原创 2021-07-19 19:42:33 · 358 阅读 · 0 评论 -
区间众数(分块)
目录问题分析代码问题n个数构成一个序列,查询 [L,R][L, R][L,R] 区间内出现次数最多的那个数的出现次数。时间、空间复杂度要求均为:O(n⋅n)O(n\cdot \sqrt{n})O(n⋅n)。分析基本思想:分块离散化,使得序列元素ana_nan 转换成 an′∈[1,n]a_n^{'} \in [1, n]an′∈[1,n]计算块 i、ji、ji、j 间的最大次数,用 f[i][j]f[i][j]f[i][j] 记录计算元素 an′a_n^{'}an′ 在前 iii 块原创 2021-07-18 12:26:24 · 1516 阅读 · 0 评论