PA 2025 部分题解

1A Teleport

假设从大到小枚举 \(ans\),同时维护当前的每个连 \((u,v)\) 是否可行。

关键观察:对于一个 \(i\),连 \((u,v)\)\(dis(i,u)\le dis(i,v)\) 的话,如果 \(dis(i,k)>ans\),从 \(i\to k\) 走的方法一定是 \(i\to u\to v\to k\)

对于每个 \(i\) 分别做以下过程:对于 \(dis(i,k) > ans\)(即不合法的点),只需要对所有 \(v\) 维护 \(\max(dis(v,k))\),然后把 \(dis(i,u)+\max(dis(v,k))>ans\)\((u,v)\) 弹掉。

时间复杂度 \(O(n^3)\)

3A

首先二分答案 \(T\)

如果确定了所有人的相对顺序,那一定会让第一个人的区间尽量靠前,即找到第一个时刻,使得放了第一个人的区间后,仍然有人醒着。这样可以得到 \(n!\) 的做法。

假设每个人第一个可以放的时刻是 \(t_i\)

posted @ 2025-03-20 14:57  Rainbow_qwq  阅读(190)  评论(0)    收藏  举报