#557. 线段树
线段树
题目描述
菜汪酱刚学了线段树这种数据结构,她写了这样一份代码:
void build(int i, int l, int r) { L[i] = l; R[i] = r; if (l == r) return; int mid = (l+r)/2; build(i*2, l, mid); build(i*2+1, mid+1, r); }
对于一棵有 个叶子的线段树,只需要执行 build(1,1,n)
就可以建出线段树。
对于给定的 ,她想知道满足 的 的和是多少?
输入格式
第一行一个整数 表示询问组数。
接下来 行每行 个整数 表示一组询问。
输出格式
对于每组询问,输出一行一个整数表示满足条件的 的和 。
样例
样例输入#1
5 4 1 4 7 3 6 20 4 15 100 22 78 1000000 114514 919810
样例输出#1
28 57 469 12244 659903510
样例输入/输出#2/#3
见下发文件。
数据范围
对于 的数据,。
对于 的数据,。
对于另外 的数据,保证 , 为非负整数。
对于另外 的数据,,。
对于 的数据,,。
统计
相关
在下列比赛中: