#456. 海深时见鲸
海深时见鲸
Description
你有一张 个点, 条边的有向图,且每个点拥有一个权值 。不存在一条边两端连向 同一个点,可能存在两条边两端连接的点分别相同。我们定义 能直接到达 , 当且仅当有 直接连向 的边。
现在有 个询问,每次询问给出一个区间 ,你可以选择该区间内的一个点作为中 心点。一个点能作为中心点的条件是:这个点能直接到达的点不在区间 之间。 现在,对于每个询问,你需要输出询问区间内所有可以作为中心点的点的权值之和。
Format
Input
第 1 行 3 个由空格隔开的正整数 分别表示点的个数、有向边的个数和询问的个数。
第 2 行 个由空格隔开的正整数,第 个数 表示第 个点的权值。
接下来 行,每行两个由空格隔开的正整数 表示一条从 到 的有向边。
接下来 行,每行两个由空格隔开的正整数 表示一个询问 。
Output
为了减少输出量,设 为第 个询问的答案。你只需要输出一行一个整数 ,即所有询问的编号与答案的乘积异或起来的值。
Samples
4 2 2
3 5 10 6
1 4
2 3
2 3
1 3
16
Limitation
对于 的数据, 。
对于 的数据, 。
对于 的数据,。
对于另外 的数据,, 图是一条链。
对于 的数据, $n, q ⩽ 500000, m ⩽ min(n × (n − 1)/2, 500000), 1 ⩽ val_{i} ⩽ 300, 1 ⩽u_{i}, v_{i} ⩽ n, u_{i} \ne v_{i}, 1 ⩽ L_{i} ⩽ R_{i} ⩽ n$ 。
Tips
建议使用快读
相关
在以下作业中: