icpc青岛一个polya计数金牌题(可以说这场除了签到就是金牌题...) 当时隐约觉得这种组合数学问题似乎不是纸上就能推导出一个初等数学公式然后套一套模板就能出的…
但也不是太难 专题4小时就可以入门+编完吧
以下只要高中数学基础(证明和实现需要群论和数论)
置换:把一个集合中的元素映射到自身集合的双射(可以当做n个点n条边且每个点出度入度均为1的图)
比如
1 2 3 4 5
2 3 4 5 1
就是1 2 3 4 5的一个置换
显然一个置换一定由多个环构成 包括自环(比如上面的置换就是12345构成的大环)
1 2 3 4 5
1 2 3 4 5
上置换映射之后没有变化 可以看做是5个自环构成的置换
1 2 3 4 5
3