SPFA
deepquiet
这个作者很懒,什么都没留下…
展开
-
uva10806
题意: 给出点与边,求两条不重边的最短路径 思路: 用网络流控制数量为两条(cap控制),保证以最小流连贯到底,其实就是控制次数,map保证每条路一次 要注意的是,走过的路径中反向的map为原先的负数,道理和网络流的对称性一致 代码: #include #include #include #include #include using namespace std; const int原创 2016-07-25 20:47:43 · 281 阅读 · 0 评论 -
uva
题意:m个产品,n个插头,k种转化器。无限多个,求有几个产品不能配上插头 思路: 建图从原点到产品,产品到对应的插头,如果这种插头有转化器,则插头连向插头,个数为无穷 产品1-m,插头m+1-m+n,这里要特别注意,因为有除了n种以外的插头需要特别记录下来,最终只能转化为n个里面的一种才能用 代码: #include #include #include #include #include原创 2016-07-27 18:51:05 · 257 阅读 · 0 评论 -
uva10269
题意: 1-n是村庄,n+1-m+1是城堡,要从1-n+m,问最短时间 思路: 首先要为使用魔法做准备,这就需要求得沿路不经过城堡的所有路径(保证在最短状态),这就用到了floyd,然后是用spfa求用到魔法的最小时间 f[i][j]表示剩余i次到达j用时 如果不使用魔法能的到更短时间就不使用魔法 如果使用了魔法,那么首先路径必须 代码: #include #include #in原创 2016-07-27 18:57:41 · 278 阅读 · 0 评论