C. 完全二叉树

    传统题 文件IO:ttree 1000ms 64MiB

完全二叉树

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

完全二叉树

题目背景

tiger最喜欢二叉树 但是他不喜欢线段树。 所以他喜欢完全二叉树。

题目描述

题目末尾有完全二叉树的定义。 在此我们说根节点到一个节点需要经过的边数+1为那个节点的层数。 tiger太喜欢完全二叉树了,所以他现在想要绘制一个 nn 个点的完全二叉树。 第 ii 个点在坐标 (ai,bi)(a_i,b_i) 上,(如果有)左儿子是 2i2i,右儿子是 2i+12i+1。 这个完全二叉树满足如下性质:

  • 设这棵树层数最大的节点层数为 mm,则层数为 ii 的节点纵坐标为 mi+1m-i+1
  • 对于第 ii 个节点,如果它有左右儿子,那么a2i<ai<a2i+1a_{2i}<a_i<a_{2i+1}ai=a2i+a2i+12a_i=\dfrac{a_{2i}+a_{2i+1}}{2}
  • 对于第 ii 个节点,如果他只有左儿子,那么 ai=a2ia_i=a_{2i}
  • 任意一个节点的左子树所有节点的横坐标都小于右子树所有节点的横坐标。
  • 横坐标第 ii 小的叶子节点横坐标为 ii

现在tiger为了更好的构图,需要问你 nn 个点的完全二叉树根节点的坐标。

输入格式

第一行一个整数 TT 代表数据组数。 接下来 TT 个整数 nn 代表 TT 次询问的问题。

输出格式

输出 TT 行,第 ii 行两个整数代表根节点的坐标。 输出建议保留多位小数(建议8位),与标答误差不超过 10610^{-6} 将会被判为正确。

样例 #1

样例输入 #1

3
3 5 1024

样例输出 #1

1.500000 2.000000
2.250000 3.000000
256.500000 11.000000

提示

n=5n=5 的部分用A~E表示。

节点i=i= aia_i bib_i 节点i=i= aia_i bib_i
1 32\frac{3}{2} 22 A 94\frac{9}{4} 33
2 11 11 B 32\frac{3}{2} 22
3 22 C 33
- D 11 11
E 22

数据范围

  • 对于 20%20\% 的数据,T10T\leq10n20n\leq20
  • 对于 35%35\% 的数据,T100T\leq100n105n\leq10^5
  • 对于 50%50\% 的数据,T105T\leq10^5n106n\leq10^6
  • 对于另外 10%10\% 的数据,存在一个正整数 pp 使得 n=2p1n=2^p-1
  • 对于 100%100\% 的数据,T105T\leq10^5n109n\leq10^{9}

关于完全二叉树

只有最下面两层结点的度数可以小于 22,且最下面一层的结点都集中在该层最左边的连续位置上。 (图源:OI-wiki)\tiny\text{(图源:OI-wiki)}

【冲刺CSP2023-J2】普及训练1018改题

未参加
状态
已结束
规则
IOI
题目
5
开始于
2023-10-18 12:30
结束于
2023-10-18 21:30
持续时间
9 小时
主持人
参赛人数
49