[HNOI2008]Cards

[HNOI2008]Cards

加上元置换(必须加上),共(m+1)个置换

考虑每个置换不动点

类似dfs暴力找环

方案只和环个数和大小有关。

而颜色数量有限制

于是dp

dp[i][j][k][l]表示前i个环,三种颜色分别用了j,k,l次的染色方案数。每个环颜色必须相等。

然后枚举环用的颜色即可。

O((m+1)*20*20*20*20)大概是这样。

 

不知道为什么对的方法:

根据题意可以证明除了元置换外没有不动点

然后就是(a+b+c)!/(a!*b!*c!*(m+1))

置换不用读入就AC了。。。

 

posted @ 2019-01-04 19:02  *Miracle*  阅读(192)  评论(0编辑  收藏  举报