划分树
芋智波佐助
菜鸟一只
展开
-
HDU 3473 Minimum Sum 划分树
有n个数,每次给出一段区间l,r,选出一个数X使得|X-Xi|(l<=i<=r)尽量小,X显然是中位数。此外还要得到区间和,这个可以在划分树递归的时候累加,当递归左子树的时候,可以加上所有大于中位数的数,递归右子树的时候可以减去所有小于中位数的数。 #include #include #include using namespace std; typedef __int64原创 2016-07-11 09:35:54 · 254 阅读 · 0 评论 -
HDU 4251 The Famous ICPC Team Again 划分树 区间第K大
给n个数,m次询问,每次询问一个区间,输出该区间中间大的值,中位数?划分树模版题。 #include #include #include using namespace std; const int maxn = 100010; int tree[20][maxn], toleft[20][maxn], a[maxn]; void build(int l, int r,原创 2016-07-11 09:35:53 · 256 阅读 · 0 评论