A6784 | 「SCOI2016」幸运数字
来源省选
时间限制4s
内存限制256MB
通过 / 提交0/0
题目描述
A 国共有 $n$ 座城市,这些城市由 $n-1$ 条道路相连,使得任意两座城市可以互达,且路径唯一。每座城市都有一个幸运数字,以纪念碑的形式矗立在这座城市的正中心,作为城市的象征。一些旅行者希望游览 A 国。旅行者计划乘飞机降落在 $x$ 号城市,沿着 $x$ 号城市到 $y$ 号城市之间那条唯一的路径游览,最终从 $y$ 城市起飞离开 A 国。
在经过每一座城市时,游览者就会有机会与这座城市的幸运数字拍照,从而将这份幸运保存到自己身上。然而,幸运是不能简单叠加的,这一点游览者也十分清楚。他们迷信着幸运数字是以异或的方式保留在自己身上的。例如,游览者拍了 $3$ 张照片,幸运值分别是 $5$、$7$、$11$,那么最终保留在自己身上的幸运值就是 $9$($5\mathbin{\text{xor}}7\mathbin{\text{xor}}11$)。
有些聪明的游览者发现,只要选择性地进行拍照,便能获得更大的幸运值。例如在上述三个幸运值中,只选择 $5$ 和 $11$,可以保留的幸运值为 $14$。现在,一些游览者找到了聪明的你,希望你帮他们计算出在他们的行程安排中可以保留的最大幸运值是多少。
在经过每一座城市时,游览者就会有机会与这座城市的幸运数字拍照,从而将这份幸运保存到自己身上。然而,幸运是不能简单叠加的,这一点游览者也十分清楚。他们迷信着幸运数字是以异或的方式保留在自己身上的。例如,游览者拍了 $3$ 张照片,幸运值分别是 $5$、$7$、$11$,那么最终保留在自己身上的幸运值就是 $9$($5\mathbin{\text{xor}}7\mathbin{\text{xor}}11$)。
有些聪明的游览者发现,只要选择性地进行拍照,便能获得更大的幸运值。例如在上述三个幸运值中,只选择 $5$ 和 $11$,可以保留的幸运值为 $14$。现在,一些游览者找到了聪明的你,希望你帮他们计算出在他们的行程安排中可以保留的最大幸运值是多少。
输入格式
第一行包含两个正整数 $n$、$q$,分别表示城市的数量和旅行者数量。
第二行包含 $n$ 个非负整数,其中第 $i$ 个整数 $G_i$ 表示 $i$ 号城市的幸运值。随后 $n-1$ 行,每行包含两个正整数 $x$、$y$,表示 $x$ 号城市和 $y$ 号城市之间有一条道路相连。
随后 $q$ 行,每行包含两个正整数 $x$、$y$,表示这名旅行者的旅行计划是从 $x$ 号城市到 $y$ 号城市。
第二行包含 $n$ 个非负整数,其中第 $i$ 个整数 $G_i$ 表示 $i$ 号城市的幸运值。随后 $n-1$ 行,每行包含两个正整数 $x$、$y$,表示 $x$ 号城市和 $y$ 号城市之间有一条道路相连。
随后 $q$ 行,每行包含两个正整数 $x$、$y$,表示这名旅行者的旅行计划是从 $x$ 号城市到 $y$ 号城市。
输出格式
输出需要包含 $q$ 行,每行包含 $1$ 个非负整数,表示这名旅行者可以保留的最大幸运值。
输入输出样例
输入 #1
4 2 11 5 7 9 1 2 1 3 1 4 2 3 1 4
输出 #1
14 11
$ N \leq 20000, Q \leq 200000, G_i \leq 2 ^ {60} $
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?