luogu4187】的更多相关文章

P4187 [USACO18JAN]Stamp Painting 样例 input3 2 2output6 input6 10 5output190 sol:首先可以发现,对于合法的序列,只要有一串至少连续K个相同的就可以了,其他没有限制 这当然是可以dp辣 dp[i][j]表示前i位没有,当前有j个连续相同,前面没有出现连续K个相同 统计答案的时候就是∑i={K,n} dp[i][K]*Ksm(m,n-i) 转移挺容易的 dp[1][1]=m dp[i][1]=(m-1)*∑j={1,K-1}…
可以发现,只要存在连续k个相同的,这个情况就一定是合法情况 然而这个不太好算,我们算不存在k个相同的,然后用$m^n$把它减掉 设f[i]为前i个,没有连续k个的 显然$f[i]=m^i ,i<K$ 然后我们现在想把f[i]转移过来,只要取f[i-k+1]..f[i-1]的所有情况,然后在每个的后面都涂上与这种情况的最后一个颜色不相同的颜色就可以了.容(bu)易(hui)证明这样做是不重不漏的 所以$f[i]=(M-1)\sum_{j=i-K+1}^{i-1}f[j]$ #include<bi…