分块
分块
_7许
%
展开
-
power oj 2885: 连续段
题目链接题意:给一个长度为 nnn 的排列,m次询问区间 [l,r][l, r][l,r] 的连续段(相邻的数构成连续段,比如1、2、3;2、3、4)的数目。题目强制在线。思路:在区间 [l,r][l, r][l,r] 中,对于区间内任意一个数 xxx 来说,如果它可以作为连续段的起始位,那么它的前驱 x−1x - 1x−1 的位置一定在区间 [l,r][l, r][l,r] 外。所以我们只需要统计,区间内所有元素中前驱的位置在区间 [l,r][l, r][l,r] 外的元素个数,即是连续段的个数原创 2020-09-24 15:44:23 · 246 阅读 · 0 评论 -
【分块+二分】HDU 4417
Super Mario多组数据注意初始化#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <vector>#include <algorithm>#define INF 0x3f3f3f3fusing namespace std;typedef long long ll ;int read(){原创 2020-07-08 12:30:21 · 161 阅读 · 0 评论 -
【除法分块】power oj 2886
大力出奇迹∑i=lrx%(k∗i)=∑i=lr(x−(k∗i)∗⌊xk∗i⌋)=x∗(r−l+1)−∑i=lr(k∗i)∗⌊x/ki⌋\displaystyle \sum^{r}_{i=l}{x \% (k*i)}= \displaystyle \sum^{r}_{i=l}{(x-(k*i)*\lfloor \frac{x}{k*i} \rfloor)}\\=x*(r-l+1)-\displaystyle \sum^{r}_{i=l}{(k*i)*\lfloor \frac{x/k}{i}\rfloor}原创 2020-07-08 12:27:10 · 163 阅读 · 0 评论 -
【分块入门】LOJ 数列分块入门 1 - 9 (学习更新……)
dl题解_「分块」数列分块入门1 – 9 by hzwerLOJ #6277. 数列分块入门 1题意:给出一个长为n的数列,以及n个操作,操作涉及区间加法,单点查值。 时间限制:100ms分块我们将整个数列划分为很多块,暂且分为n / m块,用block[ i ]记录第 i 个数据arr[ i ]对应的块的个数。O(n)【数据读入时就可以操作完成,block[ i ] = (i ...原创 2020-01-16 14:49:57 · 2155 阅读 · 1 评论