#P13241. 「2.48sOI R1」格律树
「2.48sOI R1」格律树
题目背景
平平仄仄平平仄,仄仄平平仄仄平。
题目描述
来自 CodeForces 的 Che960 想学习如何作近体诗。为此,他咨询了来自洛谷的 lizihan250。lizihan250 告诉他,诗句中的每个字都可以根据发音分为“平声”或“仄声”。除首句外,每一联的上句必须以“平声”收尾,下句必须以“仄声”收尾。每一句内应避免“孤平”。本题中,我们认为,若一句诗句中存在连续的三个字依次为“仄声”、“平声”、“仄声”,我们就认为,这句诗句出现了“孤平”。本题不考虑对仗、押韵等其他要求。
Che960 为了练习平仄的运用,构造了一棵以 号节点为根的格律树,树上的每个节点都代表“平声”或“仄声”中的一种。Che960 会进行多次练习,每次练习时,Che960 会在树上选出一些“关键点”,并指定了这些“关键点”代表的是“平声”还是“仄声”。Che960 的任务就是给定一种方案,给树上所有非关键节点指定其代表的是“平声”还是“仄声”,使得从根节点到任意一个“关键点”的简单路径上的所有节点依次排列成的诗句不出现“孤平”。
lizihan250 看到了这个练习之后,想到了这样一个问题:对于 Che960 的每次练习,他最多能给出多少种不同的方案?两种方案不同,当且仅当存在至少一个节点,在两种方案中分别被指定为“平声”与“仄声”。答案对 取模。
形式化题意
我们用 指代上文的“平声”,用 指代上文的“仄声”。
给定一棵树,每个节点有 点权。进行多次询问,每次询问选择若干个节点,指定它们的点权。求:若剩下的点的点权可以任意指定,则有多少种指定点权的方法,使得任意一个指定点到根节点的路径上,不存在连续的三个节点的点权依次为 , 和 。
输入格式
第一行,一个正整数 ,表示树的节点总数。
接下来 行,每行两个正整数 ,表示树上编号为 的两点之间连有一条边。
接下来两个正整数 ,分别表示 Che960 的练习次数与输出参数。输出参数的作用会在“输出格式”部分给出。
接下来 组数据,第 组数据中,第一行一个正整数 ,表示这轮联系中共有 个“关键点”。接下来 行,第 行两个正整数 ,表示编号为 的节点被指定为 。其中,若 ,则该节点被指定为“平声”,否则,该节点被指定为“仄声”。
输出格式
共 行,每行一个整数,第 行表示 Che960 第 次至第 次练习的方案数对 取模的异或和的值。
6
1 2
2 3
2 4
4 5
1 6
3 1
2
3 1
6 0
1
1 0
3
2 1
4 0
5 1
12
32
0
6
1 2
2 3
2 4
4 5
1 6
3 2
2
3 1
6 0
1
1 0
3
2 1
4 0
5 1
44
7
1 2
1 3
3 4
4 5
5 6
5 7
4 1
1
4 0
1
4 1
1
6 0
1
6 1
64
48
48
36
提示
样例解释
对于样例一,样例中呈现的树的形态如下图所示:
第一次练习选取 号节点、 号节点作为“关键点”,分别指定为“仄声”,“平声”。共 种方案,如下表所示(标红的为“关键点”的声调):
方案编号 | 号节点 | 号节点 | 号节点 | 号节点 | 号节点 | 号节点 |
---|---|---|---|---|---|---|
平 | 平 | 平 | 平 | |||
仄 | ||||||
仄 | 平 | |||||
仄 | ||||||
仄 | 平 | 平 | ||||
仄 | ||||||
仄 | 平 | |||||
仄 | ||||||
仄 | 平 | 平 | ||||
仄 | ||||||
仄 | 平 | |||||
仄 |
所有指定节点 为“仄声”,指定节点 为“平声”的方案均不符合题意,因为这会使从根节点到节点 的简单路径上依次经过的节点 、节点 、节点 构成“孤平”。
需要注意的是,本题中,我们不关心不在根节点到“关键点”路径上的点的平仄使用情况是否符合题意。例如,方案 的节点 、节点 、节点 依次被指定为“仄声”、“平声”、“仄声”,会构成“孤平”,但由于不存在一条从根节点到一“关键点”的简单路径同时包含这三个节点,因此,这个方案也符合题意。
第二次练习只选取节点 为“关键点”,指定为“平声”。此时,剩余五个节点的平仄都可以任意指定。故此次练习共有 种方案。
第三次练习选取节点 、节点 、节点 为“关键点”,分别指定为“仄声”、“平声”、“仄声”。此时,无论如何指定剩余节点的平仄,在根节点到节点 的路径上总会依次经过节点 、节点 、节点 构成“孤平”。故此次练习不存在任何方案。
对于样例二,除输出参数外与样例一没有任何区别。此时应输出 行,这一行应输出第一次与第二次练习的方案数的异或和,故输出 。
数据规模与约束
本题采用捆绑测试
对于 的数据,有 ,,$\left\lfloor\dfrac{t}{q}\right\rfloor \le 5 \times 10^4$。对于 ,有 ,且 。对于 ,有 ,,同一次练习中所有的 互不相同。保证给出的是一棵树。
Subtask 编号 | 分值 | 特殊性质 | |||
---|---|---|---|---|---|
不符合 | |||||
符合 | |||||
不符合 | |||||
对于符合特殊性质的测试点,保证 ,有 。