- ,其中 ,然后推式子
递归即可,预处理 的组合数 code
- 转换一下题意发现求 模 意义下为 0 的下标个数
令 ,那么即求
注意到前面一坨有 个根,是 ,我们知道 也有 个同样的根,并且次数相同,所以用 替换原式
那么 ,考虑有多少个非零项,对于 有会有一项,由 定理, 的每一位大于 ,方案数即
若 ,那么我们用上述方法算
否则系数不重叠,分治 算出 的非零项即可 code
-
构造,我们将每个点拆成多个点满足每个点的度数 ,然后强制这 条边颜色不同,这样每个点的不和谐度只会为 1,下面我们证明对于一个最大度数为 的二分图,用 种颜色染边可以使一个点的所有出边颜色不同
-
对于 成立
假设对于 成立,我们希望对新图中度数为 的点找到一个完美匹配,然后将完美匹配的边设成一种颜色,删去这些边就可以转换为子问题
我们可以加一些虚点,将度数不足 的点补足 ,首先证明有完美匹配,
若没有,由 定理, 存在 满足 ,而在 和 之间有 条边,而 最多连出去 条边,所以不符
由于度数为 的一定不会匹配虚点,我们将虚点即虚点的边删掉,将完美匹配的边去掉即得证 -
基于此,我们可以增量构造每条边的颜色,令 为 可以填的最小颜色, 为 可以填的最小颜色, 若 则染色,否则假设 ,我们让这条边为 ,让 原本 的边为 …,容易发现这个过程是没有环的,所以就构造完了,复杂度 code