![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树状数组
cy41
celery cabbage
展开
-
牛客算法周周练2 D E
比赛链接:周练2乍一看可能有点问题,实际上仔细想一下就发现这两个题都是把一些简单的思维与算法结合了一下。D:7e5的规模的树,边权都为1,点权都为0。7e5次操作,每次选择一个点,将所有与他距离不超过2的点的点权都加1,然后询问当前点的点权为多少。将这个树变成有根树后,距离不超过2,有两种情况:x向他的子树走1步,或2步那么很显然把点都映射到一个bfs序列,记录每个节点的第一个儿子...原创 2020-04-15 13:42:27 · 214 阅读 · 0 评论 -
G. Path Queries (dsu)
题目链接:G. Path Queries题意:给定一颗无根树,带边权,定义两点间的路径长度为该路径上的最大边权,q次询问qiq_iqi,询问点对数(u,v),u<v(u,v),u<v(u,v),u<v,u到v的路径长度<=qi<=q_i<=qi两种做法:将路径权值从小到大排序,询问排序,然后用并查集维护连通块的size,对于询问qiq_iqi,将边...原创 2019-10-22 11:18:30 · 254 阅读 · 0 评论 -
The Preliminary Contest for ICPC Asia Xuzhou 2019 I query(离线,树状数组)
题目链接:query题意:给出一个长度为n的全排列,q次询问,每次询问区间[l,r][l,r][l,r]内有多少对数字(p,q)(p,q)(p,q),满足p%q==0。数据范围n,q同阶105n,q同阶10^5n,q同阶105数据范围保证了序列是一个全排列,那么可以预处理出所有的满足条件的数字对,这样的数字对数不会超过n∗log2nn*log_2nn∗log2n。枚举位置i,假设所有的数...原创 2019-09-07 20:23:59 · 280 阅读 · 1 评论 -
Different GCD Subarray Query HDU - 5869(树状数组,离线)
题目链接:HDU-5869题意:一组序列,多次询问,询问区间[l,r][l,r][l,r]gcd不同的子区间有多少个。通过预处理,将问题转化为二维数点问题。预处理所有以i为右端点的不同gcd的值以及开头位置。用vector<pair<> > v[maxn]来存,并且其值是非严格递减的,位置是递减的,并且如果一个gcd出现多次只储存靠后位置的。然后就是套路了,按查询...原创 2019-09-19 13:06:20 · 153 阅读 · 0 评论 -
HDU-4630(离线)
题目链接:HDU-4630题意:1~n的全排列,多次询问区间内,两个数字gcd的最大值预处理出一个数字的所有因子,如果一个因子出现两次以上说明可能作为答案。对询问按照右端点排序。按位置从小到大枚举,枚举该数字的所有因子,如果之前该因子出现过,则在该因子之前的位置处更新值为该因子。如果要用线段树维护,那直接做就行。如果要用树状数组维护,树状数组维护的是具有前缀性质的,[l,r][l,r]...原创 2019-09-19 21:17:28 · 517 阅读 · 0 评论 -
K - Master of Sequence HDU - 6274(2017杭州ccpc 树状数组)
题目链接:HDU - 6274题意:长度为n的序列a,b,定义S(t)=∑i=1n⌊(t−bi)/ai⌋S(t)=\sum_{i=1}^n\lfloor (t-b_i)/a_i \rfloorS(t)=∑i=1n⌊(t−bi)/ai⌋接下来m次操作,有三种,a[x]=ya[x]=ya[x]=yb[x]=yb[x]=yb[x]=y给定参数kkk,询问min(t∣k<=S(t)...原创 2019-09-25 13:45:06 · 271 阅读 · 0 评论 -
2019牛客国庆集训派对day3 H
题目链接:H-千万别用树套树题意:动态插入一维线段端点为[li,ri][l_i,r_i][li,ri],查询给定参数:[li,ri][l_i,r_i][li,ri],问有多少条线段可以覆盖它。我看了一眼感觉CDQ可以写我就写了2333,复杂度是在O(n∗log2n∗log2n)O(n*log_2n*log_2n)O(n∗log2n∗log2n)。首先这个的维度看做三维,时间维,x...原创 2019-10-03 19:35:53 · 170 阅读 · 0 评论