数据结构==线段树合并
Helium_wild
这个作者很懒,什么都没留下…
展开
-
bzoj2212(Tree Rotations 线段树合并模板)
题目一个树中逆序对的个数等于 左子树逆序对个数+右子树逆序对个数+左子树>右子树的对数。可以递归。关键就是怎么每次都处理 左子树>右子树的对树这一部分。假如左子树所有出现的权值可以在一颗权值线段树上体现出来,右子树的所有出现的权值可以在另一颗权值线段树上体现出来。那么这一部分就是要求treeA 比treeB大的对数也可以递归得到。记两颗权值线段树分别是treeA,treeB;分...原创 2019-09-12 22:04:17 · 228 阅读 · 0 评论 -
bzoj2733(永无乡 支持其中的两个联通快合并 问某个联通快第k小 线段树合并模板)
题目代码在bzoj T了 洛谷A了。。妈的不知道为什么。线段树合并裸体。。#include<cstdio>using namespace std;const int N=3e5+5;struct tree{int l,r,sum;}t[N*70];int root[N],sz=0;void build(int &x,int l,int r,int val){ ...原创 2019-09-13 10:34:53 · 100 阅读 · 0 评论 -
P3605(Promotion Counting晋升者计数 线段树合并裸题)
题目#include<cstdio>#include<algorithm>using namespace std;const int N=1e5+5;struct tree{int l,r,sum;}t[N*60];int root[N],sz;struct Edge{int to,nex;}edge[N];int head[N],ttt;int a[N],...原创 2019-09-13 11:56:00 · 155 阅读 · 0 评论 -
Tree Intersection(求每条边将树分成两个集合的共同颜色的个数 线段树合并 裸题)
题目题意: 对于每条边,把这条边删了,树分成了两个集合,求这两个集合中共同的颜色数量。对于节点u,就看u节点的子树中,有多少种颜色没有到达这种颜色的上限,就是对u所对应的边的答案#include<cstdio>#include<cstring>#include<algorithm>#define fnq freopen("input.txt","r...原创 2019-10-09 09:58:16 · 224 阅读 · 0 评论