做题笔记 #7
P10594 BZOJ2445 最大团
题目描述
一个 \(n\) 个点的无向图(不一定连通)被叫做是一个 S,当且仅当该图的任意一个连通子图拥有相同的点数,并且任意一个连通子图都是完全图。
现在用 \(m\) 种颜色给所有的 \(n\) 个点的 S 染色,结点有标号,可以染相同的颜色。问方案数对 \(10^{9}-401\) 取模的结果。
感觉相对套路。。。但是题意没说清楚。
假设 n 个点的 S 有 k 个。答案就是 \(m^k\) 。题就是这个意思。
这就是一个 n=12 的合法 S,结点有标号,发现只和完全图的限制不大,只有每个子图的大小有关
正解
设每个连通子图的大小是 d,方案数就是 \(\binom n{d,d...d} = {n!\over (d!)^{n/d}}\),发现子图与子图之间无法区分,所以要除上 \((n/d)!\).
所以 \(k = \sum_{d|n} {n!\over (d!)^{n/d}(n/d)!} \bmod (p - 1)\)。把 p - 1 分解了,剩下的步骤和 exlucas 几乎一样,推不出来的时候用小的数模拟一下即可。
注:\({(d!)^{n/d} \over p^y }\bmod p\) 的求法实际上和 \(n!/p^x \bmod p\) 是一样的,不过循环节那里要快速幂一下。

                
            
        
浙公网安备 33010602011771号