分块
Neo__Z
这个作者很懒,什么都没留下…
展开
-
bzoj2002 弹飞绵羊【分块】
解题思路:我们可以在分块后维护每个位置弹出该块所需步数和弹到的位置,这样查询和修改都是O(n√)O(\sqrt n)的了。#include<cstdio>#include<iostream>#include<cstring>#include<string>#include<algorithm>#include<cmath>#include<ctime>#include<vector>原创 2017-12-18 09:29:50 · 373 阅读 · 0 评论 -
BJ模拟 等差数列【分块+FFT】
题目描述:给定nnn个整数a1,a2,a3,...,ana1,a2,a3,...,ana_1,a_2,a_3,...,a_n,求有多少个三元组(i,j,k)(i,j,k)(i,j,k)满足1≤i<j<k≤n1≤i<j<k≤n1≤iaj−ai=ak−ajaj−ai=ak−aja_j−a_i=a_k−a_j 。 1≤n≤100000,1≤ai≤300001≤n≤10000...原创 2018-05-05 11:59:13 · 359 阅读 · 0 评论 -
BJ模拟 Rectangle Query【分块+bitset】
题目描述:平面上有 nnn 个点,你需要回答qqq个询问: 给定 x1,x2,y1,y2x1,x2,y1,y2 x_1,x_2,y_1,y_2 ,在满足 x1≤x≤x2x1≤x≤x2x_1≤x≤x_2 且 y1≤y≤y2y1≤y≤y2 y_1≤y≤y_2 的所有点 (x,y)(x,y) (x,y) 中,有多少个不同的横坐标(x坐标)和不同的纵坐标(y坐标)? 强制在线,n,q≤5000...原创 2018-05-03 18:48:19 · 182 阅读 · 0 评论 -
NOI模拟 奥义商店【分块+概率dp】
题目描述: 解题思路:#include<bits/stdc++.h>#define ll long longusing namespace std;int getint(){ int i=0,f=1;char c; for(c=getchar();(c!='-')&&(c<'0'||c>'9');c=getcha...原创 2018-05-02 21:39:19 · 309 阅读 · 0 评论 -
bzoj2741: 【FOTILE模拟赛】L【可持久化trie树+分块】
DescriptionFOTILE得到了一个长为N的序列A,为了拯救地球,他希望知道某些区间内的最大的连续XOR和。 即对于一个询问,你需要求出max(Ai xor Ai+1 xor Ai+2 … xor Aj),其中l<=i<=j<=r。 为了体现在线操作,对于一个询问(x,y): l = min ( ((x+lastans) mod N)+1 , ((y+lasta...原创 2018-03-05 15:39:45 · 239 阅读 · 0 评论 -
bzoj2724: [Violet 6]蒲公英【分块模板】
题目大意:n个数,m次询问,每次询问区间众数,强制在线,1<=n<=40000,1<=m<=50000。解题思路:分块裸题。存一下模板。 用O(nn−−√)O(nn)O(n\sqrt n)的时间预处理出sum[i][j]表示i在前j块的出现次数,ans[i][j]表示第i块到第j块的答案(枚举左端点),询问时只用考虑边界上至多2n−−√2n2\sqrt n...原创 2018-03-05 11:06:09 · 369 阅读 · 0 评论 -
bzoj2821: 作诗(Poetize)【分块】
Description问题简述:N个数,M组询问,每次问[l,r]中有多少个数出现正偶数次。Input输入第一行三个整数n、c以及m。表示文章字数、汉字的种类数、要选择M次。第二行有n个整数,每个数Ai在[1, c]间,代表一个编码为Ai的汉字。接下来m行每行两个整数l和r,设上一个询问的答案为ans(第一个询问时ans=0), 令L=(l+ans)mod n+1, R=(r+ans...原创 2018-03-05 10:03:42 · 205 阅读 · 0 评论 -
HihoCoder 1236 : Scores【分块+bitset】
题目大意:给出n个五元组,q次询问,每次询问给出一个五元组,问n个五元组中完全小等于该五元组的有多少个。解题思路:很容易想到用bitset[i][j]处理出第i科前j名是那些人,询问直接二分后把5个bitset与到一次即可。 但这样空间开不下,所以分一下块,bitset[i][j]表示第i科前j块是哪些人,询问是单独处理边界上的人即可。#include<bits/stdc+...原创 2018-03-12 10:40:02 · 218 阅读 · 0 评论 -
bzoj2388: 旅行规划【分块+凸包】
DescriptionOIVillage是一个风景秀美的乡村,为了更好的利用当地的旅游资源,吸引游客,推动经济发展,xkszltl决定修建了一条铁路将当地n个最著名的经典连接起来,让游客可以通过火车从铁路起点(1号景点)出发,依次游览每个景区。为了更好的评价这条铁路,xkszltl为每一个景区都哦赋予了一个美观度,而一条旅行路径的价值就是它所经过的景区的美观度之和。不过,随着天气与季节的变化,...原创 2018-03-06 21:40:42 · 312 阅读 · 0 评论 -
loj#2322. 「清华集训 2017」Hello world!【分块+并查集+树状数组】
传送门解题思路:考虑对步数分块,对于步数大于S的直接暴力修改查询,步数小于S的建S棵树,第i棵树x先第i个祖先连边,用并查集维护连续是1的一段,树状数组维护查询。 这样修改是O(Slogn)O(Slogn)O(Slogn)的,查询是O(logn)O(logn)O(logn),不知有没有更优秀的复杂度。#include<iostream>#include<alg...原创 2018-05-31 08:59:22 · 977 阅读 · 0 评论