战绩:
100+100+90+25=315 rk2(如果T3不挂10分就rk1了)
T1
正解用的是状态之间建边跑bfs,赛时我没想到状态之间建边,糊了个费用流,同样能过,思路也很简单,直接网格之间建费用为1流量无限的边,在控制点和解密点限制一下流量即可
T2
二分答案+最小生成树检验
注意可能爆longlong要边加边判
T3
正解是最短路DAG,我赛时想到的是最短路树(其实本质差不多?)
但是不知道为什么边权全为1的subtask挂了
T4
费用流好建边,但是只有25分
考虑按权值排序加入,不会影响最大匹配,同时保证最大权匹配,回顾匈牙利算法的匹配过程\(\rightarrow\)尝试将一个右边的点加入匹配,去寻找一个可行匹配,那我们将已经匹配边看作一条由右边指向对应点的边,未匹配边反之,每次尝试将一个点加入匹配时,用bfs去寻找一个包含此点的环,将环上所有匹配非匹配边互换即可
时间复杂度:\(O(n^3 +m\log m)\)
标签:25,图论,匹配,7.26,day3,bfs,建边 From: https://www.cnblogs.com/Linnyx/p/17582543.html