#P7122. Chino 与线段树
Chino 与线段树
题目描述
Chino 刚学习了一种叫做线段树的数据结构。可是她在写线段树时遇到了一个问题:她不知道该使用多大的空间,只知道线段树的叶子结点个数 为一个在范围 之内的正整数。
Chino 设 表示一棵 个叶子结点的线段树所占的最大数组下标。她觉得如果她知道了
那么她就能够算出她需要多少使用多大的空间。所以她来请教聪明的你来帮帮她。
具体地,Chino 构建线段树的伪代码如下:
$\begin{aligned} &\underline{\kern{300pt}}\\ &\mathbf{Function:}\ \text{Build a Segment Tree.}\\[-10pt] &\underline{\kern{300pt}}\\[-5pt] &\begin{array}{r|l} 1&\ \mathbf{function}\ \text{BuildSegmentTree}(x,l,r):\\ 2&\qquad \mathbf{if}\ (l \ne r)\ \mathbf{then}:\\ 3&\qquad\qquad m \gets \left\lfloor (l+r)/2 \right\rfloor\\ 4&\qquad\qquad \text{BuildSegmentTree}(2x,l,m)\\ 5&\qquad\qquad \text{BuildSegmentTree}(2x+1,m+1,r)\\ 6&\qquad \mathbf{end\ if}\\ 7&\ \mathbf{end\ function}\\ \end{array}\\[-13pt] &\underline{\kern{300pt}} \end{aligned}$
线段树所占的最大数组下标即为在 $\def\t#1{\text{#1}}\t{BuildSegmentTree}\left(1,1,n\right)$ 后所有调用的 中参数 的最大值。
输入格式
输入共二行。
第一行为一个正整数 ;第二行为一个正整数 。其意义如题面所述。
输出格式
输出一行一个正整数,表示你的答案。
1
10
108
233333
666666
588544964910
1
1000000000000000000
1419691012023749904603586777179575510
提示
样例解释 #1
个叶子结点的线段树的最大下标分别为 ,求和得到 。
测试点约束
本题采用捆绑测试。
对于全部数据,有 。
每个子任务的具体限制见下表:
子任务编号 | 分值 | ||
---|---|---|---|
1 | 10 | ||
2 | |||
3 | |||
4 | |||
5 | |||
6 | |||
7 | |||
8 | |||
9 | |||
10 |