[SEERC 2020] One Piece

Luogu
IDLGP10745
Time3000ms
Memory512MB
DifficultyP6
2020ICPCSEERC
有一个图,它是一个 $n$ 个点的树,每条边都是形如 $(u,v)$ 的边长为 $1$ 的无向边。 你有一个寻宝器,当你在点 $i$ 时,它会返回一个最远距离 $x$,表示存在宝藏的位置距 $i$ 点最远长度为 $x$,一个图可能存在多个宝藏。 现在你知道了对于 $1 \leq i \leq n$ 时的寻宝器返回结果,问你确定每个点是否存在宝藏的概率从大到小依次排序后的数组。 ## Input 第一行一个整数 $n\ (1 \leq n \leq 2.5 \times 10^5)$,表示点数。 接下来 $n-1$ 行,每行两个整数 $u,v$,表示一条边。 再一行 $n$ 个数,表示在 $i$ 点调用寻宝器的返回值。 ## Output 输出每个点是否存在宝藏的概率从大到小依次排序后的数组。 同概率下标升序排序。 [samples]
Samples
Input #1
5
1 2
1 3
2 4
2 5
2 2 3 3 3
Output #1
3 4 5 1 2
Input #2
4
2 1
3 2
3 4
1 0 1 2
Output #2
2 1 3 4
API Response (JSON)
{
  "problem": {
    "name": "[SEERC 2020] One Piece",
    "description": {
      "content": "有一个图,它是一个 $n$ 个点的树,每条边都是形如 $(u,v)$ 的边长为 $1$ 的无向边。 你有一个寻宝器,当你在点 $i$ 时,它会返回一个最远距离 $x$,表示存在宝藏的位置距 $i$ 点最远长度为 $x$,一个图可能存在多个宝藏。 现在你知道了对于 $1 \\leq i \\leq n$ 时的寻宝器返回结果,问你确定每个点是否存在宝藏的概率从大到小依次排序后的数组。",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 3000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P6"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGP10745"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "有一个图,它是一个 $n$ 个点的树,每条边都是形如 $(u,v)$ 的边长为 $1$ 的无向边。\n\n你有一个寻宝器,当你在点 $i$ 时,它会返回一个最远距离 $x$,表示存在宝藏的位置距 $i$ 点最远长度为 $x$,一个图可能存在多个宝藏。\n\n现在你知道了对于 $1 \\leq i \\leq n$ 时的寻宝器返回结果,问你确定每个点是否存在宝藏的概率从大到小依次排序后的数组。\n\n## Inpu...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments