摘要: DP(仿照Floyd)题意:一个无向图,然后多个查询,查询是起点和终点s和t,s到t可能有多条路径,那么每条路径都会有一条权值最大的边,在所有的最大边中找一个最小的,如果s到t之间不连通,那么输出no path想了很久,大概有两个小时的样子…………然后看了一下数据,刚好最多有100个点,最多10000个查询,那么就给了一个很大的启发,会不会有一个算法会好像dij一样,运行一次能得到做个答案,或者一个算法好像floyd一样,运行一次可以知道所有答案,出于数据的特殊性,我更倾向于往floyd的方向想。floyd的本质是DP,其实这个问题也很容易发现就是个DP,状态转移方程为max=MAX{ d[i 阅读全文
posted @ 2012-12-08 23:08 Titanium 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 最小生成树和这道题是一样的,不过就是给出的数据不同hdu 1879 继续畅通工程说来惭愧,写hdu那个的时候是1Y的,但是写这个却WA了一次是因为整个做法想错了WA的想法是先用邻接矩阵建图,然后用一个had数组记录已经存在的边,在计算MST最小权值的时候如果是已有的边就不用算费用,所以需要adj数组去记录 边的信息但是这个方法显然是错的,因为MST不是唯一的,如果最后MST的总权值最小,但是可能不同的MST用到的已有的边的条数是不同,用到的已有的边最少,那么需要额外付的费用就越好,如果是上面那样做,显然是WA正确的做法就是把已有的边的权值赋值为0或者一个负数都可以(最好是0,那么就不用判断是否 阅读全文
posted @ 2012-12-08 00:17 Titanium 阅读(406) 评论(0) 推荐(0) 编辑