CF660E Different Subsets For All Tuples

题意

给定一个长度为 \(n\) 的序列。

每个数字的范围为 \([1, m]\)

求一共 \(m ^ n\) 种数列,每个数列种本质不同的子序列个数之和。

Sol

考虑用一种比较好的方式表示答案。

枚举本质不同的子序列长度,枚举中间跳过的数的个数。

\[m ^ n + \sum_{i = 1} ^ n \sum_{j = 0} ^ {n - i} (m - 1) ^ j m ^ {n - j} \times C_{i + j - 1} ^ {i - 1} \]

注意到 \((m - 1) ^ j m ^ {n - j}\)\(i\) 无关,提出来。

\[m ^ n + \sum_{j = 0} ^ n (m - 1) ^ j m ^ {n - j} \sum_{i = 1} ^ {n - j} C_{i + j - 1} ^ {i - 1} \]

\[m ^ n + \sum_{j = 0} ^ n (m - 1) ^ j m ^ {n - j} \sum_{i = 1} ^ {n - j} C_{i + j - 1} ^ j \]

欸后面这个东西怎么列都相同啊。

求杨辉三角某一列的值,等于该列右下角的数。

\[m ^ n + \sum_{j = 0} ^ n (m - 1) ^ j m ^ {n - j} \times C_{n} ^ {j + 1} \]

\(j\) 都变成 \(j + 1\)

\[m ^ n + \frac{m - 1}{m} \sum_{j + 1 = 1} ^ n C_{n} ^ {j + 1} \times (m - 1) ^ {j + 1} m ^ {n - (j + 1)} \]

\[m ^ n + \frac{m - 1}{m} \sum_{i = 1} ^ n C_{n} ^ i \times (m - 1) ^ i m ^ {n - i} \]

后面这一坨不就是二项式定理吗,单独把 \(i = 0\) 拎出来。

\[m ^ n + \frac{m - 1}{m}((\sum_{i = 0} ^ n C_{n} ^ i \times(m - 1) ^ i m ^ {n - i}) - m ^ n) \]

\[m ^ n + \frac{m - 1}{m}((2m - 1) ^ n - m ^ n) \]

时间复杂度:\(O(log_n)\)

posted @ 2023-12-25 11:42  cxqghzj  阅读(2)  评论(0编辑  收藏  举报