码迷,mamicode.com
首页 > 其他好文 > 详细

图论专项测试

时间:2020-04-19 11:18:18      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:最优   mat   题解   最大流   span   更新   最短路   math   解决   

T1:
先跑个Floyd,然后求一下建在点上的答案
容易发现已经把答案限制的比较紧了
然后统计边的答案,加一个最优性剪枝
然后考虑二分解决就行了
如果不加剪枝,复杂度为\(O(n^3+n^3logC)\)
如果加上的话,因为第一次就把答案限制的很紧,所以复杂度大概为\(O(n^3+n^2logC)\)

T2:
有点东西
一条合法路径显然可以分成三段,1->a->b->n,其中a->b中不经过任意一条最短路边
1->a和b->n走最短路就完了,a->b整个二进制分组就行了,但多一个log跑不过(可能是我自带大常数QAQ)
那就随它!
logn大概是17,那就随机其中的一些跑一下,调调种子就过了(19260817好啊)

T3:
题解的做法要消圈,太麻烦就没写
考虑另一种做法,反着考虑,先将所有位置填上,然后考虑最少需要拿下来几个
枚举limit
对于行列建点,S向行连(数量,0)的边,列向T连(数量,0)的边
对应的行列间,行向列连(limit,0)的边,表示可以留下limit个
对于(i,j)为空地,i行向j列连(1,1)的边,表示可以取下来一个
跑最小费用最大流,若最后满足当前\(limit \leq all*A/B\)的限制,则更新答案

图论专项测试

标签:最优   mat   题解   最大流   span   更新   最短路   math   解决   

原文地址:https://www.cnblogs.com/Gkeng/p/12730181.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!