loj#P3653. 「2021 集训队互测」抽奖机
「2021 集训队互测」抽奖机
题目描述
奆 有一个神秘的抽奖机,它由 个转轮组成。
每个转轮有三个档位,记作 ,转轮的转动与档位关系如下:
-
当一个 档位转轮被转过一次,会变成 档位。
-
当一个 档位转轮被转过一次,会变成 档位。
-
当一个 档位转轮被转过一次,会变成 档位。
一开始所有 个转轮都在 档,将所有转轮的集合记作 。
抽奖机的抽奖器有 个模式,每个模式可以用两个数字 描述,表示:
- 将 分为三个集合 ,即满足:
$A\cap B,A\cap B,B\cap C=\emptyset,A\cup B\cup C=S,|A|=a_i,|B|=b_i$
其中 表示集合 的大小,容易发现一共有 种分配集合的方法
- 然后将集合 中的转轮转动一次,所有集合 中的转轮转过两次
每次拉下摇杆,抽奖机都会进行转动,一次转动如下:
-
从所有模式里选取一个进行;
-
从所有可能的转动情况中选择一个进行。
最终,应该有 $\displaystyle \sum_{i=1}^m \cfrac{n!}{a_i!b_i!(n-a_i-b_i)!}$ 种方案,在这样的所有方案中选择一个。
现在奆 通过 py 手段得知了所有的模式,但是 ta 依然无法控制抽奖机的结果。
自暴自弃的 ta 决定连续乱拉 次拉杆,而并且在此之前,ta 暴怒地逼问你:
最终抽奖机恰好有 个转轮在 档, 个转轮在 档的方案数。
由于答案可能非常大,请输出其 的结果。
输入格式
第一行三个正整数 ,表示转轮个数,模式个数,奆 拉拉杆的次数。
然后 行,每行两个整数 ,描述奆 通过 py 得知的一个模式。
输出格式
输出 行,第 行输出 个数。
第 行第 个数表示:最终抽奖机恰好有 个转轮在 档, 个转轮在 档的方案数,。
2 2 2
0 1
1 0
4 2 2
2 4
2
2 2 2
0 1
2 0
0 0 3
6 0
0
3 6 4
1 2
2 0
1 1
0 1
1 0
0 3
4884 14295 14508 4873
14529 29202 14331
14313 14526
4860
数据范围与提示
本题不采用子任务评测。
对于所有数据,满足 $n\leq 120,m\leq 10^5,k\leq 10^{18},\forall 0\leq a_i,b_i\leq n,\forall a_i+b_i\leq n$ 。
给定的 个模式之间可能有重复 。
下表列出了所有 个测试点 的上限以及数据的特殊性质:
# | 特殊性质 | |||
---|---|---|---|---|
无 | ||||
无 | ||||
无 | ||||