最短路
ijbuhv
这个作者很懒,什么都没留下…
展开
-
hdu2833WuKong 最短路
Wukong 和tang的最短路径相交的点一定是连续的,设A,B两点是他们相交的点,又A,B都在这两条最短路上,那么从A到B的最短路能在这两条最短路上,所以Wukong 和tang的最短路径相交的点一定是连续的,那么我们只需找最多点的公共子路径就行代码:#include#include#includeusing namespace std;#define max原创 2014-12-04 22:34:31 · 554 阅读 · 0 评论 -
hdu2807The Shortest Path floyd
//对于矩阵A,B,C A*B = C//那么A,C之间有一条路//找出A,C的最短路#include<cstdio>#include<cstring>#include<iostream>using namespace std ;const int maxn = 110 ;const int inf = 0x3f3f3f3f ;int A[maxn][maxn][maxn] ;i原创 2015-08-05 12:49:28 · 546 阅读 · 0 评论 -
hdu3461Marriage Match IV 最短路+最大流
//给一个图,给定起点和终点,只能走图上的最短路//问最多有多少种走的方法,每条路只能走一次//只要将在最短路上的所有边的权值改为1,求一个最大流就行#include#include#include#include#includeusing namespace std ;const int inf = 0x3f3f3f3f ;const int maxn =原创 2015-08-16 15:21:35 · 622 阅读 · 0 评论 -
poj2253Frogger 最短路水题
//一个无向图,求从起点到终点的所经过的路径中的最大值最小//最短路,更新的时候dis[i] = min(dis[i] , max(dis[u] , map[u][i]));#include<cstdio>#include<cstring>#include<iostream>#include<queue>#include<cmath>using namespace std ;cons原创 2015-08-03 11:58:44 · 887 阅读 · 0 评论 -
hdu3768Shopping 最短路+暴力
//给一个无向图,其点为0,从起点开始要走s个点再回到起点的最短路//由于s<=10,可以先记录从一个点到另一个点的最短路径//然后在暴力枚举从0开始走这s个点的顺序#include<cstdio>#include<cstring>#include<iostream>#include<queue>using namespace std ;const int maxn = 100010原创 2015-08-03 11:56:29 · 942 阅读 · 0 评论 -
hdu2363Cycling 二分+最短路
//一个无向图 ,每个点都有高度,//问从起点1到终点n的最高点减最低点的差值最小的前提下的最短路和这个差值//由于n<100所以可以先将这n个点按升序排,枚举这个最短路的左边最小mi,二分找最小的右边ma#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std ;原创 2015-08-02 16:52:13 · 567 阅读 · 0 评论 -
hdu2962Trucking 二分+最短路
//一个无向图,每一条路有限制载重和长度//问从起点到终点的最大载重,以及在最大载重的情况下的最短路是多少//二分最大栽重,对于每个载重,小于这个载重的路径不走#include<iostream>#include<cstring>#include<cstdio>using namespace std ;const int maxn = 1010 ;const int inf = 0x原创 2015-08-02 14:27:12 · 655 阅读 · 0 评论 -
hdu1595find the longest of the shortest 最短路
//给一个无向图,问删除一条边,使得从1到n的最短路最长//问这个最长路//这个删除的边必然在最短路上,如果不在,那么走这条最短路肯定比其他短//枚举删除这条最短路的边,找其最长的即为答案#include<cstdio>#include<cstring>#include<iostream>using namespace std ;const int maxn = 1110 ;con原创 2015-08-01 11:27:37 · 799 阅读 · 0 评论 -
hdu3339 In Action 最短路+01背包
//有n个电站,每一个电站能提供不同的power,//所有tank从0点出发,停在该电站就代表摧毁了该电站,tank从电站到电站之间需要耗费能量//现在有无穷的tank,问最少需要耗费多少油能够摧毁一半以上的power//先用dijkstra求得到每个点的dis[i]//然后用一个01背包得到答案#include<cstdio>#include<cstring>#include<ios原创 2015-08-01 09:57:17 · 677 阅读 · 0 评论 -
hdu1839Delay Constrained Maximum Capacity Path 二分+最短路
//一个无向图,两点之间的流量为c,两点花的时间为t//问从起点到终点n之间时间小于等于T且只走一条路径能够运输的最大流量为多少//二分流量,小于这个流量的路径不走,求其时间是否小于等于T得到答案#include<cstdio>#include<cstring>#include<iostream>#include<queue>using namespace std ;const in原创 2015-08-01 13:38:53 · 620 阅读 · 0 评论 -
hdu3665Seaside 最短路水题
//给一个图,有些点近海,问从0点到近海点的最短路#include<cstdio>#include<cstring>#include<iostream>using namespace std ;const int maxn = 100 ;const int inf = 0x3f3f3f3f ;int map[maxn][maxn] ;int dis[maxn] ;int vis[m原创 2015-07-28 10:25:00 · 579 阅读 · 0 评论 -
codeforce266D 最短路
//给你一个无向连通图,找一个点使得它到这个图最短路中最大的距离最短//可以遍历所有边,对于每条边有的连个顶点u,v//可以通过这两个点将这个图分左边,u-v边,右边三个部分//但是哪些点分在左边,哪些点分在右边,如果暴力所有情况显然会超时//用一个二维数组存入所有点到u,v两个点的最短路//将其排序,对于a[i].u >=a[j].u ,a[i].v >= a[j].v 的点原创 2015-05-16 14:56:46 · 722 阅读 · 0 评论 -
codeforce198B 最短路
//对于该点能到达的下一点用一条路径表示//然后用spfa求出其最小值//在更新最小点时判断一下他去这一个点时会不会淹死#include#include#include#includeusing namespace std ;const int inf = 0x3f3f3f3f;const int maxn = 100010 ;const int mod =原创 2015-05-11 22:51:45 · 609 阅读 · 0 评论 -
hdu 3832Earth Hour 最短路spfa
//用spfa求出1,2,3点到任意点的最短路//然后枚举1,2,3,任意点u//求出1,2,3,到u点的最短路之和ans//其最n-ans-1即为最多能熄灭的灯数#include#include#include#includeusing namespace std;const int maxn=1010;const int inf=99999;int原创 2015-03-16 21:52:15 · 568 阅读 · 0 评论 -
poj3216Repairing Company 二分匹配之最小路径覆盖+floyd
//m个任务,每个任务都有开始时间和需要花的时间,以及其在哪楼地方工作//给出地图,每楼到另一楼的路径所花的时间//问最少需要安排多少人能完成这些任务//对任务和任务之间建图,如果做完任务i还能做任务j那么i-j之间建立一条边//这样只需要找到最小路径覆盖即为最终答案#include<cstdio>#include<iostream>#include<cstring>using na原创 2015-08-06 11:03:23 · 678 阅读 · 0 评论