题解:CF1783F Double Sort II
Drink_Assam · · 题解
先考虑只有一个排列时怎么做。建图,对于所有
如果是两个排列,建两张图。一次操作即在两张图中选择同一个点,对于两张图中指向它的边,交换边两端的点。要是答案尽量小,即需使两张图中最后自环的点尽量重合。无论是哪张图,每次选择的点在操作后一定会变成自环所以每个点。也就是说,可以尽可能多地选点,使得它们不被操作,唯一条件是每个环最多选一个点。
记录每个点在两张图中对应的环编号。如果选出一个点,那么它所在的两个环都不能选其他点。那就再建一个图,对于每个点把它所在的两个环连边,最后要选出尽可能多的边使得每个点最多选一个邻边,也就是二分图最大匹配。答案就是总环数减最大匹配数。