随笔分类 -  树状数组

摘要:#题意 1e6的数组,1e6组询问,每次问你[l,r]内有多少个数出现超过了1次 空间128M #思路 主席树可以很轻松地解决这个问题,但是1e6,128M显然空间是不够的,所以我们要找别的方法 数组长度有1e6,根号级的算法也不能使用 我们考虑离线: 在左端点不变时,考虑用树状数组维护右端点在不同 阅读全文
posted @ 2020-05-26 13:04 wrjlinkkkkkk 阅读(150) 评论(0) 推荐(0)
摘要:题意 给你一些串,还有一些询问 问你第x个串在第y个串中出现了多少次 思路 对这些串建ac自动机 根据fail树的性质:若x节点是 trie中root到t任意一个节点 的fail树的祖先,那么x一定是y的子串 而x在y中出现的次数为 以x为fail树中的根节点的子树中,有多少个节点是trie树中根节 阅读全文
posted @ 2019-09-27 13:41 wrjlinkkkkkk 阅读(181) 评论(0) 推荐(0)
摘要:题目链接:https://ac.nowcoder.com/acm/contest/1084/B 题意 5e5的区间,5e5个询求[l,r]区间内出现过的数的和 思路 1s时限,莫队显然会T 我们可以将询问按r排序,维护每个数最后出现的位置,并用树状数组维护前缀和即可 代码 c++ include i 阅读全文
posted @ 2019-09-16 15:41 wrjlinkkkkkk 阅读(197) 评论(0) 推荐(0)
摘要:题意: (假设所有的点对应的值已经求出)给你一个1e6*1e6的矩阵,有m<=1e5个点有值,其余都为0 q<=1e5个询问,求子矩阵的权值和 思路: 根据二维差分,对于询问左下角(x1,y1),右上角(x2,y2) 该询问答案为a[x2][y2]-a[x1-1][y2]-a[x2][y1-1]+a 阅读全文
posted @ 2019-09-05 14:05 wrjlinkkkkkk 阅读(256) 评论(0) 推荐(0)
摘要:题意: 给你n条平行于坐标轴的线,问你能组成多少个矩形,坐标绝对值均小于5000 保证线之间不会重合或者退化 思路: 从下到上扫描每一条纵坐标为y的水平的线,然后扫描所有竖直的线并标记与它相交的线,保证上端至少多出1 并用树状数组维护它们 然后从y+1网上扫描纵坐标为yy的水平的线,查询y到yy中同 阅读全文
posted @ 2019-07-18 20:50 wrjlinkkkkkk 阅读(210) 评论(0) 推荐(0)