#L8189. [USACO22FEB] Redistributing Gifts G

    ID: 1099 传统题 文件IO:prob1 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>组合数学状压 DPUSACO2022

[USACO22FEB] Redistributing Gifts G

P8189 [USACO22FEB] Redistributing Gifts G

题目描述

Farmer John 有 NN 个礼物,编号为 1N1 \ldots N,准备分给他的 NN 头奶牛,奶牛也编号为 1N1 \ldots N1N181 \leq N \leq 18)。每头奶牛有一个愿望清单,清单是 NN 个礼物的一个排列,奶牛更喜欢清单中靠前的礼物。

FJ 很懒,直接将礼物 ii 分配给了奶牛 ii。现在,奶牛们聚集在一起,决定重新分配礼物,使得重新分配后,每头奶牛最终得到的礼物要么与原来相同,要么是她更喜欢的礼物。

还有一个额外的限制:一个礼物只能重新分配给与它原主人同类型的奶牛(每头奶牛要么是荷斯坦牛,要么是根西牛)。给定 QQ1Qmin(105,2N)1 \leq Q \leq \min(10^5, 2^N))个长度为 NN 的品种字符串,对于每个字符串,计算符合该字符串的重新分配方案的数量。

输入格式

第一行包含 NN
接下来的 NN 行,每行包含一头奶牛的愿望清单。保证每行是 1N1 \ldots N 的一个排列。
接下来一行包含 QQ
最后的 QQ 行,每行包含一个品种字符串,长度为 NN,仅由字符 GH 组成。每个品种字符串只出现一次。

输出格式

对于每个品种字符串,输出一行,表示符合该字符串的重新分配方案的数量。

样例解释

在这个例子中,对于第一个品种字符串,有两种可能的重新分配方案:

  1. 原始分配:奶牛 11 得到礼物 11,奶牛 22 得到礼物 22,奶牛 33 得到礼物 33,奶牛 44 得到礼物 44
  2. 奶牛 11 得到礼物 11,奶牛 22 得到礼物 33,奶牛 33 得到礼物 22,奶牛 44 得到礼物 44

输入输出样例 1

4
1 2 3 4
1 3 2 4
1 2 3 4
1 2 3 4
5
HHHH
HHGG
GHGH
HGGG
GHHG
2
1
1
2
2

说明/提示

  • 对于 T=2,,13T = 2, \cdots ,13,测试用例 TT 满足 N=T+4N = T + 4
  • 测试用例 14-18 满足 N=18N = 18