专栏文章

题解:CF1494C 1D Sokoban

CF1494C题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@minj1929
此快照首次捕获于
2025/12/02 03:13
3 个月前
此快照最后确认于
2025/12/02 03:13
3 个月前
查看原文

前言

模拟赛的T2,来写一篇题解。

题解

通过推导可以发现位置为正只能往右,位置为负只能往左(因为你不可能跳过一个箱子),那么我们就可以分成正负两部分处理。通过推导可以发现第一个箱子一定是推到特殊点上最优。可以通过二分求出第一个箱子推到当前这个点有多少个箱子,描述可能有点问号,放张图:
然后再二分出这个区间有多少个特殊点,最后加上没有被推过的箱子本来就在特殊点上的情况,就得出了答案。
C++ 党可以使用 std::lower_boundstd::upper_bound

评论

0 条评论,欢迎与作者交流。

正在加载评论...