Luogu P7444 「EZEC-7」猜排列 题解

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

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) (i1)×(ni)=f(0)。最多有两个这样的位置。

而且是对称的。

之后我们考虑进行 D p \tt Dp Dp 每次记录极大的区间也就是设 f ( i , l , r ) f(i, l, r) f(i,l,r) 表示考虑了 1 ∼ i 1 \sim i 1i 的位置,极大区间是 [ 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=(lx+1)×(nr+1)

为了找到 x x x 的位置显然 n − r + 1 ∣ c i n - r + 1 | c_i nr+1c

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值