最短路
zafkiel_nightmare
弱弱的程序员
展开
-
hdu 2066 一个人的旅行
最短路问题,果然好久不做都忘得差不多了,跑一次Dijkstra算法把所有点的最短距离都跑出来 #include #include #define maxn 1005 #define inf 1<<30 using namespace std; int t,s,d; int mapp[maxn][maxn]; int w[maxn]; int visit[maxn]; int di[maxn];原创 2015-06-27 21:22:01 · 575 阅读 · 0 评论 -
hdu 1595 find the longest of the shortest
思路很简单,先跑一遍dijkstra算法,把没有路被堵的情况下的路径找出来,再枚举这些路径,求出这条路被堵的时候的最短路(dijkstra算法),取枚举结果的最大值,其实关键在于路径的记录,记录路径方法为:每次更新的时候记录前驱,然后DFS找出路径......哎,搞了1个多小时,要死要死要死 #include #include #include #include #define inf 1<<2原创 2015-08-27 16:01:59 · 242 阅读 · 0 评论 -
hdu 2112 HDU Today
水题,重新编号即可,注意地点不存在输出-1,地点相等输出0 #include #include #include #include #define inf 1<<30 #define maxn 10010 using namespace std; string a,b,str1,str2; int n,k; mapnam; vectormapp[maxn]; int vaule[maxn][m原创 2015-08-28 14:26:43 · 370 阅读 · 0 评论 -
hdu 1535 Invitation Cards
这题数据量大的惊人,不过难度不大,正向建图后再反向建图,跑2遍spfa算法就好了,超内存请用c++提交 #include #include #include #include #define inf 1<<30 #define maxn 1000010 using namespace std; struct stu { int next,l; }; vectormapp1[maxn]; vec原创 2015-08-27 14:22:04 · 363 阅读 · 0 评论 -
hdu 1217 Arbitrage
floyed算法,vaule[i][j]=max(vaule[i][j],vaule[i][k]*vaule[k][j]); 现在都懒得写题解了~ #include #include #include #define maxn 35 using namespace std; int n; mapnam; double vaule[maxn][maxn]; int casee=1; void i原创 2015-08-26 23:48:42 · 285 阅读 · 0 评论 -
hdu 2680 Choose the best route
由于有多个起点,所以呢 1:反向建图(个人感觉麻烦) 2:建立超级起点 我用的第二种,简单粗暴,也就是新建一个起点(0),他与所有题目所给的起点联通,并且距离均为0,然后模板走起咯 #include #include #include #include #define inf 1<<28 #define maxn 1010 using namespace std; int n,m,e; v原创 2015-08-27 20:39:17 · 350 阅读 · 0 评论 -
hdu 1596 find the safest road
水题,Dijkstra #include #include #define maxn 1010 using namespace std; int n,sx,sy; double vaule[maxn][maxn]; int visit[maxn]; void init() { } void input() { for(int i=1;i<=n;i++) { for(int j=1;原创 2015-08-27 16:29:21 · 335 阅读 · 0 评论 -
hdu 1869 六度分离
最小生成树flo...什么算法来着? 名字记不住,这个算法还是很简单的,枚举三重循环 #include #include #define inf 1<<20 #define maxn 110 using namespace std; int n,m; int vaule[maxn][maxn]; void init() { for(int i=0;i<n;i++) { for(int j原创 2015-08-26 20:56:54 · 225 阅读 · 0 评论 -
hdu 1142 A Walk Through the Forest
无聊的一题 #include #include #include #include #define maxn 1010 #define inf 1<<30 using namespace std; int n,m; vectormapp[maxn]; int vaule[maxn][maxn]; int d[maxn]; int dp[maxn]; void init() { for(int原创 2015-08-26 19:44:28 · 215 阅读 · 0 评论 -
hdu 1874 畅通工程续
最短路问题,虽然a!=b,但是同一条路测评数据会给你很多个,因此在读入的时候要去最短的那条路存起来.........见了鬼了,坑爹 #include #include #include #define maxn 205 #define inf 1<<30 using namespace std; int n,m; int vaule[maxn][maxn]; vectormapp[maxn];原创 2015-08-24 15:58:38 · 533 阅读 · 0 评论 -
hdu 2544 最短路
额......最短路算法,从代码中去感悟吧,改变了下代码风格,不过感觉好别扭 #include #include #include #include #include #include #include #include #include #include #include #define inf 1<<30 #define Inf -1<<30 #define maxn 105 #defin原创 2015-06-12 22:38:17 · 406 阅读 · 0 评论 -
hdu 1690 Bus System
wa到死才发现inf太小了,10的10次方都不是够的! #include #include #include #define maxn 110 #define ll long long using namespace std; ll l1,l2,l3,l4,c1,c2,c3,c4; int n,m; ll sta[maxn]; ll dp[maxn][maxn]; int casee=1; ll原创 2015-08-27 19:58:06 · 330 阅读 · 0 评论