CF1927G Paint Charges 题解

思路详解:

考虑 dpdpdp,设状态 fl,rf_{l, r}fl,r 表示覆盖区间 [l,r][l, r][l,r] 所需的最少的放点次数,显然,答案是:f1,nf_{1, n}f1,n

边界:对于任意一组 (l,r)(l, r)(l,r),如果 max⁡(al,ar)≥r−l+1\max(a_l, a_r) \ge r - l+ 1max(al,ar)rl+1,那么 fl,r=1f_{l, r} = 1fl,r=1。同理,如果 j,kj, kj,k 满足:l≤j≤k≤rl \le j \le k \le rljkrj−aj+1≤lj - a_j + 1 \le ljaj+1lk+ak−1≥rk + a_k - 1 \ge rk+ak1r,那么 fl,r=2f_{l, r} = 2fl,r=2

转移:fl,r=min⁡(fl,k+fk+1,r)f_{l, r} = \min(f_{l, k} + f_{k+ 1, r})fl,r=min(fl,k+fk+1,r)k∈[l,r)k \in [l, r)k[l,r)


时间复杂度:O(n4)O(n^4)O(n4)

空间复杂度:O(n2)O(n^2)O(n2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值