智力竞赛
题目背景:
5.21 模拟 TJOI2018D1T2
分析:floyed + 二分 + 可重点最小链覆盖
这道题的题意很奇葩,本质一点就是有一个有向图可以选择n + 1条链,点可以重复,问覆盖不到的权值中最小值最大是多少?
因为看原题担心会有环,还判了环,结果最后发现全部都是dag也不是很想说什么,因为是可重点,我们先用floyed跑一遍传递闭包,那么最小链覆盖就是直接进行二分图匹配,总点数 - 匹配数就是最小链覆盖了,直接二分覆盖不到的最小权值,然后判断前面的点可不可以用n + 1条链覆盖完全就可以了。复杂度O(m3logv),离散化之后logv几乎是常数,再加上匈牙利的二分图匹配也远没有到m3的上界,所以可以比较轻松的跑过。
Source:
/*
created by scarlyw
*/
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include