P7444 「EZEC-7」猜排列
这个是 2021.9.10 \textbf{2021.9.10} 2021.9.10 未完成的最后一题。
就是先找找性质,发现 f ( 0 ) f(0) f(0) 的时候本质上就是不包含 0 0 0 的区间个数,不妨设 0 0 0 在位置 i i i 那么显然 ( i − 1 ) × ( n − i ) = f ( 0 ) (i - 1) \times (n - i) = f(0) (i−1)×(n−i)=f(0)。最多有两个这样的位置。
而且是对称的。
之后我们考虑进行 D p \tt Dp Dp 每次记录极大的区间也就是设 f ( i , l , r ) f(i, l, r) f(i,l,r) 表示考虑了 1 ∼ i 1 \sim i 1∼i 的位置,极大区间是 [ l , r ] [l, r] [l,r] 的方案数。
然后对于一个位置 x x x 放在 l l l 的左边的时候,可以满足 c i = ( l − x + 1 ) × ( n − r + 1 ) c_i = (l - x + 1) \times (n - r + 1) ci=(l−x+1)×(n−r+1)。
为了找到 x x x 的位置显然 n − r + 1 ∣ c i n - r + 1 | c_i n−r+1∣c

本文介绍了Luogu P7444「EZEC-7」猜排列问题的解决方案。通过分析题目,得出f(0)与不包含0的区间个数的关系,并利用动态规划进行求解。讨论了如何确定极大区间,并提出了当ci为0时的处理策略。最后,优化了动态规划的状态转移,通过记录有用的位置l和更新r来提高效率。
最低0.47元/天 解锁文章
470

被折叠的 条评论
为什么被折叠?



