Loading

P4161 [SCOI2009]游戏

\(\text{solution}\)

又是一道神仙题。

考虑你把排列变为若干个环,那么总步数显然就是这些环的 \(\text{lcm}\),这个应该很简单。

考虑问题转化为,求若干个总和为 \(n\) 的数,不同的 \(\text{lcm}\) 数有多少。

考虑每次 \(\text{lcm}\) 就是把相同质因子去 \(\max\),所以不互质的数放在一起一定会有互质的数的 \(\text{lcm}\)

那么你就可以 DP 求解不同的互质的数且总和为 \(n\) 的个数了,注意到可能会有为 \(1\) 的来凑数,所以最后答案要从 \(1 \sim n\) 枚举不为 \(1\) 的数的总和,我们可以用完全背包解决这个问题。

posted @ 2023-06-08 11:27  Alexande  阅读(19)  评论(0)    收藏  举报