
分块
_zidaoziyan
这个作者很懒,什么都没留下…
展开
-
Hdu 5193 Go to movies Ⅱ(带删除数插入数的逆序数对,块状链表)
传送门:Hdu 5193 Go to movies Ⅱ 题意: 有n个人站成一排,每个人的身高为Hi。每次有人加入或者有人离开,就要判断有多少人站反了(i < j&&Hi>Hj) 第一行n,m,接下来n个整数(n,m<=2e4) 接下来m行, 0 x y 表示有一个身高为y的人插在x后面,x=0表示插在最前面。(1≤y≤n) 1 x 表示第x个人(从左到右)离开。原创 2016-09-14 22:47:09 · 726 阅读 · 0 评论 -
Hdu 5589 Tree(dfs序+莫队+字典树)
传送门:Hdu 5589 Tree 题意: 一棵树有N个节点,编号为1到N,每条边都有边权。定义f(u,v)为从u到v路径上所有边权的异或和。给定一个数M,有Q次查询,每次给定一个区间[l,r],询问有多少对(u,v)满足f(u,v)>M (l≤u#include<bits/stdc++.h> using namespace std; const int maxn=50010; typede原创 2016-09-15 22:35:38 · 835 阅读 · 0 评论 -
Hdu 5286 wyh2000 and sequence(序列分块)
传送门:Hdu 5286 wyh2000 and sequence 题意:给定一个序列A,每次询问给定两个数l,r,假设区间[l,r]去重后有k个数c_1,c_2,…,c_k,其中c_i在区间[l,r]出现了b_i次, 你要求出∑ci^(bi)(1<=i<=k)对10^9+7取模的结果,并且强制在线。 思路: 我们对序列进行分块,f(l,r)表示第l块的开始到r的答案,h(i,j)表原创 2016-09-16 13:52:57 · 347 阅读 · 0 评论 -
Hdu 4467 Graph(点分块)
传送门:Hdu 4467 Graph 题意:给你n个点,m条边,每条边有一个权值,有两个操作,一个是修改单点的颜色,一个是询问边的两个端点都为指定颜色的权值和 思路: 对点进行分块,度数大于等于根号n的点称为重点, 否则称为轻点 对于轻点,存下与其相连的所有的边,对于重点,只存下与这个重点相连的重点的边 对于一个点的更新,如果这个点是轻点,暴力更新与其相连的所有点原创 2016-09-16 15:21:02 · 438 阅读 · 0 评论 -
Hdu 5110 Alexandra and COS(对距离进行分块)
传送门:Hdu 5110 Alexandra and COS 题意:给你一个图,X代表宝藏,然后有一个船,它的声纳的频率为D,定船到宝藏的距离为Dis=max(abs(x1-x2),abs(y1-y2)), 如果D是Dis的约数并且宝藏在船的上方开角45°,那么这个船就能探测到这个宝藏, 现在给你q个询问,每一个询问有一个位置x,y和一个声纳的频率D,问这个船能探测到多少宝藏 思路:原创 2016-09-16 19:08:40 · 273 阅读 · 0 评论