![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分块
文章平均质量分 62
disPlayLzy_
梦在前方,路在脚下
展开
-
CF940F Machine Learning___带修莫队+分块
题目大意:给出一个长度为nnn的序列aaa,mmm个询问,询问有两种类型(1,l,r)(1,l,r)(1,l,r),表示将区间[l,r][l,r][l,r]的不同数分别的个数丢到一个子集,求最小的未出现的自然数(2,x,y)(2,x,y)(2,x,y),表示将axa_xax改成yyyn,m<=1e5,1<=ai,y<=1e9n,m<=1e5,1<=a_i,y<=1e9n,m<=1e5,1<=ai,y<=1e9分析:很明显的带修莫队,考虑原创 2021-11-25 19:25:13 · 267 阅读 · 1 评论 -
Jzoj P4438 K小数查询___分块
题目大意:分析:分块,每个块记录用一个vectorvectorvector存对应的区间内的数,再用一个vectorvectorvector存对应区间内的数的升序序列用一个addiadd_iaddi记录块iii被整体操作累加的总和,以及一个aia_iai记录不计算整块操作,位置i的数值对于一个操作1,我们暴力改两端的散块,更新两端的vectorvectorvector,以及对应的升序序列,对于中间的所有整块,在对应的addaddadd上累加,因为存在对某一块的序列的排序重构,时间复杂原创 2021-08-12 09:14:58 · 362 阅读 · 0 评论 -
Luogu P3203 [HNOI2010]弹飞绵羊___分块
题目大意:分析:分块,每个点记录当前点在哪一个块,跳出当前块需要多少步,跳出当前块以后走到了哪个点每次修改暴力重构当前整个块即可对于这个块中该点前面的点也需要更新代码:#include<bits/stdc++.h>#define N 200005using namespace std;struct Node { int bel, cnt, To;}cdp[N];int al[450], ar[450], b[N], siz, n, m;int main()原创 2021-08-11 21:39:48 · 91 阅读 · 0 评论 -
Jzoj P5924 Queue___分块+双端队列
题目大意:给定一个长度为nnn的数列aaa,有mmm次操作。操作分两种:①给出[l,r][l, r][l,r],表示将区间[l,r][l,r][l,r]轮转一次即al,al+1,al+2,...,ar−1,ara_l ,a_{l+1} ,a_{l+2},...,a_{r−1} ,a_ral,al+1,al+2,...,ar−1,ar 经过一次轮转变为ar,al,al+1,...,a...原创 2018-10-24 16:26:20 · 190 阅读 · 0 评论