hdu 1142 A Walk Through the Forest

分析:从始点出发,走到目标点,每走一步,只能是离目标点越来越近的路,问这样的路有几条。     以目标点为源点用dijkstra求出源点到其他各个顶点的最短路径,然后利用广搜搜索,满足Edge[v0][i] dist[i] 条件,Edge[v0][i] #include #include using namespace std; const int MAXN = 1010; const ...
阅读(367) 评论(0)

hdu 2112 HDU Today

主要就是把名字转化成为数字顶点,建图,然后Dijkstra解决 #include #include #include using namespace std; const int MAXN = 155; const int INF = 100000000; int Edge[MAXN][MAXN]; int dist[MAXN]; int S[MAXN]; int num; void...
阅读(338) 评论(0)

hdu 2544

作为刚接触最短路径的练习吧,懂得Dijkstra的原理,这个题就可以过了#include #include using namespace std; const int MAXN = 110; const int INF = 100000000; int S[MAXN]; int dist[MAXN]; int Edge[MAXN][MAXN]; int N,M; void Dijks...
阅读(440) 评论(0)

hdu 2066 一个人的旅行

这是一个多源路径问题,可以选择与草儿家相连的城市挨个作为源点,找出该源点到各个目的地的最短时间并选取时间最短的那个,最后再在从不同源点出发的最短时间中选出一个最小的,可以用Dijkstra来求解。#include #include using namespace std; const int MAXN = 1005; const int INF = 1000000; int dist[M...
阅读(368) 评论(0)

Dp+ hdu 龟兔赛跑 2059

/** 这是别人的思路,挺好,简洁,容易想通。 dp[i]表示:乌龟到达第i个加油站所需要的最短时间 dp[i] = min{dp[i],dp[j] + time}其中j < i and time为j到i点所需要的时间(含加油的时间) 把长度L的路程,看成N+2个加油站(算上起点和终点) */ #include #include #include #include using names...
阅读(350) 评论(0)

1251 hdu 字典树

题源连接:http://acm.hdu.edu.cn/showproblem.php?pid=1251 字典树的模板套用,思路在代码里面,如下: #include #include #include using namespace std; struct Node { int num;//记录到该字符有几个前缀相同的字符串。 Node* pNext[2...
阅读(554) 评论(0)

hdu 1867 KMP A + B for you again

/**利用KMP求解,找两个字符串的前缀或者后缀相同的部分,不能是中间部分;la = KMP(str1,str2);lb = KMP(str2,str1);如果la > lb 说明找到模式串str2的前缀与主串str1的后缀相同的部分,长度为la,公共部分是谁的后缀就先输出谁,此处时显然的;*/ #include #include #include using namespace std;...
阅读(450) 评论(0)
    个人资料
    • 访问:283011次
    • 积分:7325
    • 等级:
    • 排名:第3352名
    • 原创:471篇
    • 转载:19篇
    • 译文:0篇
    • 评论:19条