QOJ.ac

QOJ

Límite de tiempo: 15 s Límite de memoria: 256 MB Puntuación total: 100

#11334. 熊猫先生与调查

Estadísticas

熊猫先生对 $N$ 名候选人进行了一项调查。

在调查中,每位候选人都收到了一份包含 $M$ 个是非题的问卷。保证每位候选人对每个问题都回答了“是”(Yes)或“否”(No)。

熊猫先生喜欢多样性。如果一个问题至少有一名候选人回答“是”,且至少有一名候选人回答“否”,他就认为这是一个“好问题”。

现在熊猫先生收集了所有的问卷。他想根据调查结果进行一些统计分析。

因为熊猫先生非常懒,他想随机抽取一些问卷作为样本。对于每一个可能的问题子集(不包括空集),熊猫先生想知道:假设样本中的问卷是随机选择的(样本可以是问卷的任意子集,包括全集和空集,且每种情况被选中的概率相等),那么该子集中的所有问题都是“好问题”的概率是多少。

你能帮熊猫先生解决这个问题吗?

为了简化问题,你只需要计算:

$$(P_1 \cdot 2^N \pmod{1000000007}) \oplus (P_2 \cdot 2^N \pmod{1000000007}) \oplus \dots \oplus (P_{2^M-1} \cdot 2^N \pmod{1000000007})$$

其中 $P_i$ 表示第 $i$ 个问题子集是好问题子集的概率。显然 $P_i \cdot 2^N$ 总是一个整数。

“$\oplus$”即“按位异或”,对应 C/C++ 和 Java 中的 ^ 运算符。 “$\pmod{}$”即“取模”,对应 C/C++ 和 Java 中的 % 运算符。

输入格式

第一行输入一个整数 $T$,表示测试用例的数量。

接下来是 $T$ 个测试用例。每个测试用例包含两行:第一行包含两个整数 $N$(问卷数量)和 $M$(问题数量)。

第二行包含 $N$ 个字符串 $Q_1, Q_2, \dots, Q_N$,表示每份问卷的回答。每份问卷 $Q_i$ 由恰好 $M$ 个字符组成,每个字符可以是“Y”(代表“是”)或“N”(代表“否”)。

输出格式

对于每个测试用例,输出一行“Case #x: y”,其中 $x$ 是测试用例编号(从 1 开始),$y$ 是加权概率的异或和。

数据范围

  • $1 \le T \le 20$
  • $1 \le N \le 10^5$
  • $1 \le M \le 15$

样例

样例输入 1

2
2 2
NY YN
4 2
NN NY YN YY

样例输出 1

Case #1: 1
Case #2: 7

说明

样例 #1:问题 1 是好问题的概率为 $\frac{1}{4}$,问题 2 是好问题的概率为 $\frac{1}{4}$,问题 1 和问题 2 同时是好问题的概率为 $\frac{1}{4}$。 因此答案为: $(1 \pmod{1000000007}) \oplus (1 \pmod{1000000007}) \oplus (1 \pmod{1000000007}) = 1$

样例 #2:问题 1 是好问题的概率为 $\frac{9}{16}$,问题 2 是好问题的概率为 $\frac{9}{16}$,问题 1 和问题 2 同时是好问题的概率为 $\frac{7}{16}$。 因此答案为: $(9 \pmod{1000000007}) \oplus (9 \pmod{1000000007}) \oplus (7 \pmod{1000000007}) = 7$

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.