P3619 魔法

考虑完成两个任务 \(1\)\(2\),设当前时间为 \(T\)

先完成任务 \(1\) 的条件为 \(T>t_1\)\(T+b_1>t_2\);先完成任务 \(2\) 的条件为 \(T>t_2\)\(T+b_2>t_1\)

假设先完成任务 \(1\) 的条件更松,那么有 \(\max(t_1,t_2-b_1)<\max(t_2,t_1-b_2)\)

注意此时并没有考虑 \(T\) 时刻大于 \(0\) 的条件。当先完成任务 \(1\)\(b_1<0<b_2\) 时是可能出错的,但显然并不存在,所以这种比较函数肯定是先做 \(b>0\) 的任务再做 \(b<0\) 的任务的。

\(b>0\) 时,比较函数简化为 \(t_1<t_2\);当 \(b<0\) 时,比较函数简化为 \(t_2-b_1<t_1-b_2\to t_2+b_2<t_1+b_1\)。两种情况均满足传递性和严格弱序,所以原比较函数是正确的。

posted @ 2025-06-09 17:57  Sumering  阅读(13)  评论(0)    收藏  举报