摘要: 题意:固定起点1和终点n,从1到n,再从n回到1,去和回的路上相同的边只能用一次,求两次的和最短,如果去的时候不能去到终点或者回的时候回不到起点那么就输出Back to jail,否则输出两次和的最小值(此图是无向图,不会有重边,边的权值在大于1小于1000)两种理解一种思路是最小费用最大流另一种是最短路不唯一且两条或者多条最短路由共用边 ,或者最短路与次短路有共用边我先写的是第二种思路,最小费用最大流还没写,明天补上,并且补上思路第二种做法是,把无向图当做有向图处理,拆成两条边,先从1到n做一次最短路,并且要记录这条有向路径。最短路结束后,记录下最短路的值d[t],如果为d[t]=INF(t 阅读全文
posted @ 2012-12-09 23:51 Titanium 阅读(1033) 评论(0) 推荐(0) 编辑
摘要: DP(仿照Floyd)uva 10048 Audiophobia 一样的题目啊这次是要找s到t的所有路径中,最小边的最大值,还是仿照Floyd,不过状态转移方程改一下,而且建图初始化也改一下就可以了(题目说了每条边的权都大于1)建图邻接矩阵初始化为,d[i][j]=g[i][j],不存在的边用0表示状态转移方程d[i][j]=min( d[i][j] , max(d[i][k] , d[k][j]) );题目有一个很隐晦的地方就是,每次送旅客过去,导游也是要过去的(然后他自己再回来),所以没一趟导游都占了一个位置,如果大家觉得sample不对的话,那就是一个小问题了#include <c 阅读全文
posted @ 2012-12-09 19:44 Titanium 阅读(466) 评论(0) 推荐(0) 编辑