1 条题解
-
0
自动搬运
来自洛谷,原作者为

pigstd
Hello, the cruel world.搬运于
2025-08-24 22:20:25,当前版本为作者最后更新于2020-09-21 13:31:08,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
upt on 2020.10.27:又修改了一些事实性错误,请管理员重新审核通过qwq。
upt on 2020.10.25:修改了一些事实性错误,请管理员重新审核通过qwq。
先从大到小排序,设 表示包括 的情况下最小的答案
很容易推出方程 $dp_i=\min(dp_j+\max(k,a_i-a_j+1))\ \ \ (j \le i-1)$
但是直接搞的话是的,跑不过去
我们可以把这个方程分成两部分:
1.(当且仅当且)
这样的话,我们可以发现实际上是:,那么直接把每个 预处理出来就行了
- (当且仅当 且 )
那么显然可以看成是,那么显然当最小的时候就可以了
怎么找到满足条件的呢?二分就可以了
推完dp方程后怎么构造最后的答案呢?
如果 那么显然第 个区间是和前一个数相邻的,所以可以说是右端点为 ,左端点为
否则,显然是不相邻的,那么左端点是 ,右端点是
还要考虑边界的情况。设 表示 中最小的数。
-
如果左端点 ,那么让这个点变为 ,同时右端点也要相加。
-
如果右端点 ,那么让这个点变为 ,同时左端点也要减。
最后还要记得记得排回来
- 1
信息
- ID
- 3782
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 5
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者