QOJ.ac

QOJ

Type: Editorial

Status: Open

Posted by: Murmansk

Posted at: 2026-02-21 16:41:21

Last updated: 2026-02-21 16:44:19

Back to Problem

New Editorial for Problem Ferry

非常有意思的一道题目。

首先,将时间从大到小排序后依次考虑。

每一轮(从A转一圈回到A)的情况只有四种,即船上有0~3个船夫。

可以把一个船夫送上某个岛,然后就可以让3个游客开船到目的地,再让这个船夫开回来。这个船夫被送到了哪个岛不用在当下考虑。

设$f_{i,x,y,z}$表示考虑了前i个游客、有x个到B岛的空位、有y个到C岛的空位、有z个在外的船夫的最小时间。注意到,可以花一些代价$(t_i-1)$将一个本应去B岛的空位变成去C岛的,也可以免费将去C岛的变成去B岛的。

发现,在最优情况下x、y的取值都是0~2,z的取值是-1~2,因此,可以在$O(nlogn)$的理论复杂度内解决本题,瓶颈是排序。当然,转移的常数非常大。

Comments

No comments yet.