题目大意:你需要构造一个长度为$n$的排列$A$,使得里面包含有子序列$B$(子序列$B$为一个给定的$1$到$m$的排列),且对于每个$i$,有$A[A[i]]=i$,问有多少种方案方案. 数据范围:$n≤10^7$,$m≤500$,答案对$10^9+7$取模 我们首先不考虑有m的存在,考虑如何构造一个符合条件的序列$A$. 我们发现我们可以DP,设$f[i]$表示有多少种长度为i的序列满足$A[A[i]]=i$. 对于第$i$个数,我们可以考虑把它填在原位,或者放在第j个位置,然后在$A[i…