「Sdchr 的邀请赛」题解

骗个访问量。。

A:取石子

将点 x 与点 x / prime 连边,那么这个图可以由指数之和的奇偶性来划分成一个二分图。

接下来考虑推广阶梯 NIM (或者这原本就是阶梯 NIM ?),必胜当且仅当奇数层的点上的石子数的异或和不为 0 ,所以进行一下计数就好了。

B:重返现世

如何处理 \(k = n\) ?考虑 \(\text{max-min}\) 容斥,然后 DP 。网上资料很多,这里不赘述。

考虑将 \(\text{max-min}\) 推广到 \(\text{kthmax-min}\) 容斥?
\[ \text{kthmax(S)} = \sum_{T \subset S} \min(T) f(|T|) \]
对第 \(x+1\) 大的元素,建立实际应该计算的次数与上述式子中计算的次数的联系,
\[ [x + 1 = k] = \sum \binom{x}{i} f(i+1) \]

\[ f(x) = (-1) ^ {x - k} \binom{x - 1}{k - 1} \]

\[ \text{kthmax} (S) = \sum_{T \subset S} \frac{m}{\sum_{i \in S} p_i} (-1) ^ {|T| - k} \binom{|T| - 1}{k - 1} \]

然后考虑设计一个 DP ,设 \(f(i, j, k)\) 表示处理了前 \(i\) 位,\(\sum_{i \in S} p_i = j\) ,组合数的下指标为 \(k\) 时的
\[ \sum_T (-1) ^ {|T| - k} \binom{|T| - 1}{k - 1} \]
边界和转移都需要用到一点组合数的知识。

C:画画

比赛进行的时候,我去 OEIS 上找到了前 60 项。。。早知我出到 65 项,测了第 61 项只需要跑两秒。。。

首先大家可以做做 BZOJ 1408 ,再来看这个问题。

这个问题就同样是枚举分拆数,然后瞎计数。我自己的做法是大力分析一下,这个分析过程比较复杂就不赘述了;或者也可以直接 \(O(n ^ 6)\) 进行高斯消元,而两者的本质是一样的,因为一张图的线性基就是一个森林。

出完这道题的时候发现,的确可以做到 \(n\) 个点的无标号连通欧拉图计数,设上述答案为 \(g(n)\)\(n\) 个点的无标号连通欧拉图的个数为 \(f(n)\) ,构建普通生成函数,则
\[ G(x) = \prod \frac{1}{(1 - x ^ i) ^ {f(i)}} \]

\[ \ln G(x) = \sum_i - f(i) \ln (1 - x ^ i) = \sum_i f(i) \sum_{j \ge 1} \frac{x ^ {ij}}{j} = \sum_{t \ge 1} x ^ t (\sum_{ij = t} \frac{f(i)}{j}) \]

D:信息传递

考虑 \(f\) 的某个轮换 \(s\) ,在 \(n\) 次置换下会变成什么?

那么,可以将多少个 \(f ^ n\) 的大小为 \(s\) 的轮换进行合并,以及合并的方案数?

之后对每种不同的大小求 \(exp\) ,然后相乘即可。

猜你喜欢

转载自www.cnblogs.com/Sdchr/p/9148770.html