树状数组
树状数组习题总结
Gene_INNOCENT
Wait for the sunrise!
展开
-
【BZOJ 1103】大都市【dfs序上建立树状数组、维护路径前缀和】
题意:一颗包含 nnn 个节点的树,每条边初始权值为 111。支持两个操作,第一个操作将某一条边的权值变为 000,第二个操作询问从树根到节点 yyy的路径上有多少条权值为 111的边。思路:这题对于树链剖分来说是一道裸题,但没必要。由于只求从根节点到节点 xxx 上经过的所有边中有几条非 000 边,因此我们可以考虑一下维护前缀和。首先我们可以发现点 AAA 与它子树中所有节点的 df...原创 2019-03-17 09:03:39 · 212 阅读 · 0 评论 -
【Gym 102134-E】Kth subtree【权值树状数组、二分统计第k大+dfs离线操作】
题意:给出一棵 nnn 个点的树,一共有 qqq 组询问,每次询问给出vvv、kkk,表示将点 vvv 当做根节点之后,所有节点中子树大小的第 kkk 大是多少。(1≤n≤105,1≤q≤105)(1\leq n\leq 10^5,1\leq q\leq 10^5)(1≤n≤105,1≤q≤105)思路:首先需要观察的是换根之后,哪些节点的子树大小会发生改变。稍微模拟一下就会发现,如果新根...原创 2019-04-15 09:52:37 · 300 阅读 · 0 评论 -
【HDU 5869】Different GCD Subarray Query【区间不同 gcd 个数】
题意:给出 nnn 个数字,一共 qqq 次查询,每次询问一个 lll、rrr,查询区间 [l,r][l,r][l,r] 中有多少个不同的 gcdgcdgcd,其中一个子区间代表一个 gcdgcdgcd。(1≤n,q≤105,1≤ai≤106)(1\leq n,q\leq 10^5,1\leq a_i\leq 10^6)(1≤n,q≤105,1≤ai≤106)思路:区间查询不同 gcdg...原创 2019-09-29 14:11:38 · 1415 阅读 · 0 评论