分块
霜刃未曾试
这个作者很懒,什么都没留下…
展开
-
POJ 2104 K-th Number 平方分割
题目:http://poj.org/problem?id=2104题意:求区间[l,r]内第k小的元素思路:平方分割,效率很搓,但还是记录一下#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <vector>using namespace std;const int N =原创 2016-12-06 12:42:37 · 477 阅读 · 0 评论 -
codeforces 551E GukiZ and GukiZiana 分块
题目:https://vjudge.net/problem/CodeForces-551E题意:给定一个长度为n的序列a,有两种操作:1 l r x:1\ l\ r\ x:把区间[l,r][l,r]内的元素都加上xx2 y:2\ y:查询整个序列中值为yy的元素的最远距离,若没有yy输出−1-1思路:分块,注意爆int#include <bits/stdc++.h>using namespa原创 2017-10-09 17:28:15 · 394 阅读 · 0 评论 -
uva12003 Array Transformer 分块
题目:https://vjudge.net/problem/UVA-12003题意:给出一个长度为nn的序列aa,有mm次操作,每次操作(L,R,v,p)(L,R,v,p),首先找出[L,R][L,R]内严格小于vv的元素个数kk,然后把a[p]a[p]更新为u∗k/(R−L+1)u ∗ k/(R − L + 1)。输出最终的序列思路:无脑分块#include <bits/stdc++.h>usin原创 2017-10-09 15:48:48 · 318 阅读 · 0 评论 -
bzoj2957 楼房重建 分块 || 线段树
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2957题意:Description 小A的楼房外有一大片施工工地,工地上有N栋待建的楼房。每天,这片工地上的房子拆了又建、建了又拆。他经常无聊地看着窗外发呆,数自己能够看到多少栋房子。 为了简化问题,我们考虑这些事件发生在一个二维平面上。小A在平面上(0,0)点的位置,第i栋楼房可以用一条原创 2017-10-09 15:22:16 · 346 阅读 · 0 评论 -
bzoj 2002 弹飞绵羊 分块
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2002题意:Description某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若原创 2017-08-16 20:30:45 · 200 阅读 · 0 评论 -
ZOJ 2112 Dynamic Rankings 动态区间第k大 分块
题目:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2112题意:给出一个长度为n的整数数组,有以下两种操作: Q i j k意为求区间[i,j]内的第k小数,C i t意为把第i个数换成t思路:这道题有很多做法,主席树,平衡树,整体二分等等,这里用了分块,虽然效率比较挫,但是简单好写容易理解,高级数据结构经常忘。。。#in原创 2017-06-04 13:31:10 · 675 阅读 · 0 评论 -
UVA 12345 Dynamic len(set(a[L:R])) 分块或带修改莫队
题目:https://vjudge.net/problem/UVA-12345题意:给出一个有n个元素的数组,有以下两种操作:Q x y,求出区间[x,y)内不同元素的个数,M x y,把第x个元素的值修改为y。注意题目中的下标是从0开始的思路:我写了分块和带修改莫队两种做法。首先讲分块法,对于每个位置i,我们记录前一个相同元素的坐标,记为pre[i],然后分块,块内按pre数组排序,等到查询的时候原创 2017-06-06 11:57:19 · 1384 阅读 · 0 评论 -
洛谷P2801 教主的魔法 分块
题目:https://www.luogu.org/problem/show?pid=2801题意:题目描述教主最近学会了一种神奇的魔法,能够使人长高。于是他准备演示给XMYZ信息组每个英雄看。于是N个英雄们又一次聚集在了一起,这次他们排成了一列,被编号为1、2、……、N。每个人的身高一开始都是不超过1000的正整数。教主的魔法每次可以把闭区间[L, R](1≤L≤R≤N)内的英雄的身高全部加上一个整原创 2017-06-04 20:50:41 · 626 阅读 · 0 评论 -
CodeForces 785E Anton and Permutation 分块
题目:https://vjudge.net/problem/CodeForces-785E题意:给定一个初始为1到n1到n的长度为nn的序列,有mm个操作,每次互换两个数的位置,问每次操作后逆序数有多少对思路:分块。交换x yx\ y,只会影响[x+1,y−1][x+1,y-1]内的元素,然后就可以统计了#include <bits/stdc++.h>using namespace std;typ原创 2017-10-09 19:57:43 · 373 阅读 · 0 评论