Description
对于\(1\ldots n\),你需要将其划分为若干段。并且有\(m\)个限制,其中第\(i\)个\(X_i\)的含义是\(X_i\)和\(X_i+1\)不能划分在同一段里。
我们称一种方案的权值为所有段长度的平方的积,求所有合法划分方案的权值。
\(1\leq n\leq 10^9, 0\leq m\leq 10^5, 1\leq X_1<X_2<\ldots < X_m < n\)。
Solution
数数难,难于上青天!
一个段长度的平方是一个很毒瘤的东西。但是注意到我们可以把这个东西转化为在该段放两个不一样的球(可以放到一块)的方案数,因此搞成了一个很通常的DP……
接下来的话矩乘优化一下就好了。顺便注意一下在隔断的地方不能拆段,所以有两种转移方程。
Code
1 |
|