[ARC120E]1D Party

1D Party题解我们可以将原来的序列随时间变化转化成一个图像,纵轴代表时间,横轴代表AAA的值。那么我们可以得到这样一个图像:其中不同颜色代表不同的点的运动路径。由于要最优,我们肯定要让每个点都一直处于运动状态,我们发现每个点大概有一下两种运动状态:先向左走直到与另一个点相遇,再一直向右走。先向右走直到与另一个点相遇,再一直向左走。无论如何,与别的点相遇时都一定会产生一个交点,然后拐弯。我们可以考虑每个点都不拐弯,而是交换它们的目标对象,也就是iii与i+1i+1i+1第一次相遇
摘要由CSDN通过智能技术生成

1D Party

题解

我们可以将原来的序列随时间变化转化成一个图像,纵轴代表时间,横轴代表 A A A的值。

那么我们可以得到这样一个图像:

image-20210529082858690

其中不同颜色代表不同的点的运动路径。

由于要最优,我们肯定要让每个点都一直处于运动状态,我们发现每个点大概有一下两种运动状态:

  • 先向左走直到与另一个点相遇,再一直向右走。
  • 先向右走直到与另一个点相遇,再一直向左走。

无论如何,与别的点相遇时都一定会产生一个交点,然后拐弯。

我们可以考虑每个点都不拐弯,而是交换它们的目标对象,也就是 i i i i + 1 i+1 i+1第一次相遇后就让 i i i去与 i + 2 i+2 i+2相遇, i + 1 i+1 i+1 i − 1 i-1 i1去相遇。

这样我们的图像可以被转化成这个样子:

image-20210529083553135

我们相当于得到了无数个三角形连接而成的连通块,当这些三角形所有三角形都联通的时候所有点都是满足条件的。

而我们的答案相当于最高的三角形的最高的高度。

于是我们就很容易想到通过 d p dp dp去找到这个值,设 d p i dp_{i} dpi表示前 i i i个都满足条件的最小高度。

容易得到转移方程式:
d p i = min ⁡ j = 1 i − 2 ( m a x ( d p j , a i − a j − 1 2 ) ) dp_{i}=\min_{j=1}^{i-2}(max(dp_{j},\frac{a_{i}-a_{j-1}}{2})) dpi=j=1mini2(max(dpj,2ai<

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值