#P17279. [2024年南开中学集训]Ringed Genesis

[2024年南开中学集训]Ringed Genesis

题目描述

给定一个 nn 个点的树,11 为根。每一个树上的点 uu 都对应一个平面上的点的集合 SuS_u。对于叶子 ll,有 Sl=1|S_l|=1,即每个叶子对应的点集都只包含一个点。所有叶子的点集 SS 给定。

非叶子节点分为 A、B 两类,其中:

  • 对于 A 类点 uu,满足 SuS_uuu 的所有孩子 vvSvS_v 的并,保留严格上凸壳(即,不会有三点共线);
    • 形式化地说,设所有孩子 vvSvS_v 的并为 SS,则 SuS_u 中的任意点 (x,y)(x,y) 均满足:
      • (x,y)S(x,y)\in S
      • 不存在两个点 (x1,y1),(x2,y2)S(x_1,y_1),(x_2,y_2)\in S,使得 x1<x<x2x_1<x<x_2,且 (x,y)(x,y)(x1,y1),(x2,y2)(x_1,y_1),(x_2,y_2) 连线上,或在 (x1,y1),(x2,y2)(x_1,y_1),(x_2,y_2) 连线下方。
  • 对于 B 类点 uu,满足 SuS_uuu 的所有孩子 vvSvS_v 的并,保留严格下凸壳。
    • 形式化地说,设所有孩子 vvSvS_v 的并为 SS,则 SuS_u 中的任意点 (x,y)(x,y) 均满足:
      • (x,y)S(x,y)\in S
      • 不存在两个点 (x1,y1),(x2,y2)S(x_1,y_1),(x_2,y_2)\in S,使得 x1<x<x2x_1<x<x_2,且 (x,y)(x,y)(x1,y1),(x2,y2)(x_1,y_1),(x_2,y_2) 连线上,或在 (x1,y1),(x2,y2)(x_1,y_1),(x_2,y_2) 连线上方。

给定 qq 次询问,每次询问给定一个叶子 xx,判断是否可以指定每一个非叶子节点为 A/B 类,使得 SxS_x 中的点出现在 S1S_1 中。

输入格式

从文件 rgn.in\textit{rgn.in} 中读入数据。

单测试点包含多组数据,第一行两个整数 id,Tid,T 分别表示子任务编号和数据组数。对于样例,idid 代表该样例满足子任务 idid 的限制。

对于每组数据:

第一行两个整数 n,qn,q

接下来一行 n1n-1 个空格分隔的数,第 ii 个数表示节点 i+1i+1 在树上的父亲 fi+1f_{i+1}

接下来若干行,每行两个整数 x,yx,y,按照编号从小到大给出所有叶子对应的平面点的坐标。

接下来 qq 行,每行输入一个 uu,表示询问的节点的编号。保证树上 uu 是叶子。

输出格式

输出到文件 rgn.out\textit{rgn.out} 中。

对于每组数据输出一行一个长度为 qq 的 0/1 串,对于第 ii 个询问,如果存在一种合法的指定每个节点是 A/B 类的方案使得要求的点出现在 S1S_1 内,则第 ii 个字符应为 1;否则应为 0

样例 #1

样例输入 #1

1 1
5 3
1 1 2 2
1 3
2 5
3 6
3
4
5

样例输出 #1

111

叶子编号从小到大分别为 3,4,53,4,5,因此 S3={(1,3)},S4={(2,5)},S5={(3,6)}S_3=\{(1,3)\},S_4=\{(2,5)\},S_5=\{(3,6)\}

树上所有非叶子节点均设定为 A 类点时,S2={(2,5),(3,6)},S1={(1,3),(2,5),(3,6)}S_2=\{(2,5),(3,6)\},S_1=\{(1,3),(2,5),(3,6)\},包含所有的三个点。

样例 #2 ~ #5

见下发文件中的 rgn/rgn[2-5].in\textit{rgn/rgn[2-5].in}rgn/rgn[2-5].ans\textit{rgn/rgn[2-5].ans}

提示

对于 100%100\% 的数据,满足 1T1051\leq T\leq 10^53n3×1053\leq n\leq 3\times 10^51qn1\leq q\leq nn5×105\sum n\leq 5\times 10^51x,y1091\leq x,y\leq 10^91fi<i1\leq f_i<i,所有点 xx 坐标互不相同。

子任务 TT nn qq n\sum n 特殊性质
11 50\leq 50 10\leq 10 n\leq n 500\leq 500
22 30\leq 30 1500\leq 1500
33 100\leq 100 200\leq 200 2000\leq 2000
44 500\leq 500 2000\leq 2000 5\leq 5 5000\leq 5000
55 n\leq n
66 105\leq 10^5 2×105\leq 2\times 10^5 5\leq 5 4×105\leq 4\times 10^5
77 n\leq n 树形态随机生成
88 点的坐标随机生成
99
1010 3×105\leq 3\times 10^5 5×105\leq 5\times 10^5

评测时开启合理的子任务依赖,每个子任务分值均为 1010 分。