A5154 | 午枫的LCA
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
有两棵树 $A$ 和 $B$ ,每棵树都有 $n$ 个节点。每棵树上的节点编号都是从 $1$ 到 $n$ ,树 $A$ 的第 $i$ 个节点的权值为 $a_i$ ,树 $B$ 的第 $i$ 个节点的权值为 $b_i$ 。每棵树的根节点都是 $1$ 号节点。
现在这两颗树上都有 $m$ 个节点被标记,且两棵树上被标记的节点编号相同,都为 $x_1,x_2,\dots,x_k$ 。
请回答 $m$ 个问题,对于每个 $i$ $(1\leq i\leq m)$ ,若恰好只删除编号 $x_i$ 的标记,树 $A$ 中剩余被标记的节点的最近公共祖先($LCA$)的权值是否大于树 $B$ 中剩余被标记的节点的 $LCA$ 的权值,若大于,则输出
现在这两颗树上都有 $m$ 个节点被标记,且两棵树上被标记的节点编号相同,都为 $x_1,x_2,\dots,x_k$ 。
请回答 $m$ 个问题,对于每个 $i$ $(1\leq i\leq m)$ ,若恰好只删除编号 $x_i$ 的标记,树 $A$ 中剩余被标记的节点的最近公共祖先($LCA$)的权值是否大于树 $B$ 中剩余被标记的节点的 $LCA$ 的权值,若大于,则输出
YES ;否则输出 NO 。输入格式
第一行输入两个正整数 $n,m$ $(2\leq k\leq n \leq 2\times10^5)$ ,分别表示树上节点个数和被标记的节点个数。
第二行输入 $n$ 个整数 $a_i$ $(0\leq a_i\leq 10^9)$ ,表示树 $A$ 中第 $i$ 个节点的权值。
第三行输入 $n-1$ 个整数 $ap_i$ $(1\leq ap_i\leq i)$,表示树 $A$ 中第 $i+1$ 个节点的父亲节点。
第四行输入 $n$ 个整数 $b_i$ $(0\leq b_i\leq 10^9)$ ,表示树 $B$ 中第 $i$ 个节点的权值。
第五行输入 $n-1$ 个整数 $bp_i$ $(1\leq bp_i\leq i)$,表示树 $B$ 中第 $i+1$ 个节点的父亲节点。
第六行输入 $m$ 个正整数 $x_i$ $(1\leq x_i\leq n)$ ,表示被标记的节点编号。
第二行输入 $n$ 个整数 $a_i$ $(0\leq a_i\leq 10^9)$ ,表示树 $A$ 中第 $i$ 个节点的权值。
第三行输入 $n-1$ 个整数 $ap_i$ $(1\leq ap_i\leq i)$,表示树 $A$ 中第 $i+1$ 个节点的父亲节点。
第四行输入 $n$ 个整数 $b_i$ $(0\leq b_i\leq 10^9)$ ,表示树 $B$ 中第 $i$ 个节点的权值。
第五行输入 $n-1$ 个整数 $bp_i$ $(1\leq bp_i\leq i)$,表示树 $B$ 中第 $i+1$ 个节点的父亲节点。
第六行输入 $m$ 个正整数 $x_i$ $(1\leq x_i\leq n)$ ,表示被标记的节点编号。
输出格式
输出共 $k$ 行,对于每个 $x_i$ ,若恰好只删除编号 $x_i$ 的标记,树 $A$ 中剩余被标记的节点的 $LCA$ 的权值是否大于树 $B$ 中剩余被标记的节点的 $LCA$ 的权值,若大于,则输出
YES ;否则输出 NO 。输入输出样例
输入 #1
5 3 9 4 1 2 7 1 2 2 4 5 2 3 5 5 1 1 3 2 5 4 3
输出 #1
YES NO NO
暂无题解
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?