CF573D题解
好题。
有一个显然的想法就就是二分图带权最大匹配,但是时间复杂度是 及其难受,考虑 DP 但直接 DP 十分困难,考虑发掘一些性质。
利用贪心思想,先对 和 进行从小到大的排序,一个基本思想就是对应位置的相乘,用调整法不难证明这是最优决策,但是本题目中存在第 个人不能骑自己的马,所以最优解可能不会取到。
考虑到这个限制只是限制自己不能骑自己的马,合理猜测 位置匹配马的决策是一个范围,有结论:匹配范围为。证明考虑反证法,设 的禁止匹配位置为。那么反证法,假设如果在这个以外的范围选,那么最多向前会造成两次 无法匹配,自行画图发现这种情况最劣情况下也只会在 的情况形成匹配。
借用 _sys的图:
完美匹配至少有三个红线和黑线相交整法不难证明如果两条线相交那么交换这两个匹配会得到更优的解。
让后考虑交换的过程,我们如果前 个人和前 匹马匹配完全,那么存在, 这区间内的人和马匹配,可以用反证法证明。
故,设 表示前 个人和前 匹马完成匹配的最大全职,所以从 转移过来即可,同时改成矩阵方式维护 DP 做动态 DP 即可,时间复杂度,其中 是矩阵带来的常数。
评论