P9174
子任务 \(1\) 和子任务 \(2\) 都比较好做。所以我们这里不讲。
状态将是数字 \(n\) (每个颜色的频率的排序数组)的所有分区,因为当我们旋转每种颜色的频率都是多余的。
由于 \(n \le 10\) 所以我们可以维护这个值。
现在我们浏览这只小黄鸭选择的所有组合并确定它将变为 \(n\) 的哪个分区。
重复 \(t\) 次,然后求出由至少 \(k\) 种颜色组成的分区的所有概率,这就是答案。
由于 \(t \le 10^9\) 太大了,所以使用矩阵快速幂。
子任务 \(1\) 和子任务 \(2\) 都比较好做。所以我们这里不讲。
状态将是数字 \(n\) (每个颜色的频率的排序数组)的所有分区,因为当我们旋转每种颜色的频率都是多余的。
由于 \(n \le 10\) 所以我们可以维护这个值。
现在我们浏览这只小黄鸭选择的所有组合并确定它将变为 \(n\) 的哪个分区。
重复 \(t\) 次,然后求出由至少 \(k\) 种颜色组成的分区的所有概率,这就是答案。
由于 \(t \le 10^9\) 太大了,所以使用矩阵快速幂。