CF2135F.To the Infinity

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一棵有 nn 个结点的满二叉树∗^{∗},根结点为 11。对于每个结点 uu(1≤u≤n1\le u\le n),定义函数 fu:R+→R+f_u : \mathbb R_+ \to \mathbb R_+ 如下:

  • 如果 uu 是叶子†^{†},则 fu(x)=xf_u(x)=x;
  • 否则,设 uu 的左儿子为 lul_u、右儿子为 rur_u,则 fu(x)=(flu(x))fru(x)f_u(x)=(f_{l_u}(x))^{f_{r_u}(x)}。

对于两个结点 uu 和 vv,若且仅若下列条件之一成立,则认为 u≺vu\prec v:

  • 当 x→∞x\to\infty 时,fu(x)<fv(x)f_u(x)\lt f_v(x);
  • 当 x→∞x\to\infty 时,fu(x)=fv(x)f_u(x)=f_v(x) 并且 u<vu\lt v。

可以证明,对于任意两个不同的结点 uu 和 vv,总有 u≺vu\prec v 或 v≺uv\prec u。

你需要按 ≺\prec 的顺序对所有结点进行排序。形式上,你需要找到一个长度为 nn 的排列§^{\text{§}} pp,使得对每个 1≤i<n1\le i\lt n,都有 pi≺pi+1p_i\prec p_{i+1}。

∗^{∗} 满二叉树是一种有根树,其中每个结点要么没有儿子,要么正好有 22 个儿子。

†^{†} 叶子为没有儿子的结点。

‡^{‡} 这里 fu(x)<fv(x)f_u(x)\lt f_v(x) 当 x→∞x\to\infty 的定义是:存在一个正数 NN,使得对所有 x>Nx>N,fu(x)<fv(x)f_u(x)\lt f_v(x) 恒成立。fu(x)=fv(x)f_u(x)=f_v(x) 也作同样定义。

§^{\text{§}} 长度为 nn 的排列是一个包含 nn 个互不相同的 11 到 nn 的整数的数组。例如,[2,3,1,5,4][2,3,1,5,4] 是一个排列;[1,2,2][1,2,2] 不是(22 出现两次),[1,3,4][1,3,4] 也不是(n=3n=3 但出现了 44)。

输入格式

每个测试点包含多组测试数据。第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4),表示测试数据组数。

每组测试数据第一行为一个整数 nn(1≤n≤4⋅1051\le n \le 4\cdot 10^5,nn 是奇数),表示满二叉树的结点数。

接下来 nn 行,每行两个整数 lil_i 和 rir_i(0≤li,ri≤n0\le l_i, r_i\le n),表示结点 ii 的左儿子和右儿子。如果 ii 是叶子,则 li=ri=0l_i=r_i=0。保证输入一定是一棵以 11 为根的满二叉树。

保证所有测试数据中 nn 之和不超过 4⋅1054\cdot 10^5。

输出格式

对于每组测试数据,输出 nn 个整数 p1,p2,…,pnp_1,p_2,\ldots,p_n(1≤pi≤n1\le p_i\le n, 且所有 pip_i 互不相同),表示你找到的排列。你需要保证对每个 1≤i<n1\le i\lt n,都有 pi≺pi+1p_i\prec p_{i+1}。

输入输出样例

  • 输入#1

    4
    3
    2 3
    0 0
    0 0
    5
    2 3
    4 5
    0 0
    0 0
    0 0
    9
    2 3
    4 5
    0 0
    0 0
    6 7
    8 9
    0 0
    0 0
    0 0
    1
    0 0

    输出#1

    2 3 1 
    3 4 5 2 1 
    3 4 7 8 9 6 5 2 1 
    1

说明/提示

在第一个测试样例中,f2(x)=f3(x)=xf_2(x)=f_3(x)=x,f1(x)=(f2(x))f3(x)=xxf_1(x)=(f_2(x))^{f_3(x)}=x^x。当 x→∞x\to\infty 时,显然 f2(x)=f3(x)<f1(x)f_2(x)=f_3(x)\lt f_1(x)。因此,2≺3≺12\prec 3\prec 1。

在第二个测试样例中,f3(x)=f4(x)=f5(x)=xf_3(x)=f_4(x)=f_5(x)=x,f2(x)=(f4(x))f5(x)=xxf_2(x)=(f_4(x))^{f_5(x)}=x^x,f1(x)=(f2(x))f3(x)=xx2f_1(x)=(f_2(x))^{f_3(x)}=x^{x^2}。很显然,当 x→∞x\to\infty 时 x<x2x\lt x^2,即 f2(x)<f1(x)f_2(x)\lt f_1(x)。同理,f3(x)=f4(x)=f5(x)<f2(x)<f1(x)f_3(x)=f_4(x)=f_5(x)\lt f_2(x)\lt f_1(x)。因此,3≺4≺5≺2≺13\prec 4\prec 5\prec 2\prec 1。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页