QOJ.ac

QOJ

Type: Editorial

Status: Open

Posted by: jiangly

Posted at: 2025-12-14 07:00:29

Last updated: 2025-12-14 07:00:33

Back to Problem

题解

注意到 Taro 的策略是在求日期和 ddl 的最大匹配(对两个科目分别求)。那要求最大值,只需要把两个科目合在一起贪心即可。要求最小值,注意到最大匹配等于最小点覆盖,所以我们可以确定每一天的科目后,选择一些天以及一些 ddl(个数最少),满足每条边两端点至少有一个被选。设 $f(i,j,k)$ 表示考虑了前 $i$ 天,第一个科目上一个没选的日期是 $j$(注意只需要考虑被分配到这个科目的日期),第二个科目上一个没选的日期是 $k$,那么 $f(i,j,k)$ 可以转移到

  • $f(i+1,i+1,k)$(分配给第一个科目且不选)。
  • $f(i+1,j,i+1)$(分配给第二个科目且不选)。
  • 加 $1$ 转移到 $f(i+1,j,k)$(分配给任意一个科目且选择)。

在每个 ddl 的结束时间检查每个状态并增加必要的代价(也就是若 $j$(或 $k$,根据对应的科目)不小于 $s$ 时必须要选这个 ddl,因此代价加 $1$)。时间复杂度 $O((n+C)\cdot C^2)$,其中 $C$ 是天数。

Comments

No comments yet.