7.26 day3图论

战绩:

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)\)

posted @ 2023-07-26 15:10  Linnyx  阅读(3)  评论(0编辑  收藏  举报