POJ Fiber Network 2570

/** 本题不是求最短路径,但是用的是Floyd算法思想; 我们先设m[MAXN][MAXN],m[i][j]表示从i到j的公司数目; m(0)[i][j]表示提供从i到j能直接达到的集合, m(1)[i][j]表示以(如果存在,则)v1为中间点,能提供从i到j的集合 ······························ ····························...
阅读(426) 评论(0)

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 ...
阅读(366) 评论(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...
阅读(335) 评论(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...
阅读(435) 评论(0)

hdu 2066 一个人的旅行

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

2412 ZOJ Farm Irrigation

/** 因为每一块地,最多只有四个水管的接口,故而可以把每一块土地上,下,左,右,都标记成0或1(0,代表该方向没有接口;1,代表该方向有接口) DFS(int x, int y){ 从第一块开始搜索,如果: 该土地的1.Land[x][y].up=1,则如果和其他土地连通必有,Land[x-1][y].down = 1;(注意:Land[x-1][y]是在Land[x][y]的上方) 2.Lan...
阅读(315) 评论(0)

POj 1061 青蛙的约会

扩展欧几里得:        利用扩展欧几里得,解不定方程。对于形如:a*x + b*y = c   的不定方程(其中a,b,c已知),可以用扩展欧几里得算法求解。对于式,若有解,则一定有: gcd(a,b) /c = 0;         现以此题为例:( n - m)* t + k * l = x - y;         令 a = n - m;b = x- y;则本题既是求解满足a...
阅读(496) 评论(0)
490条 共33页首页 上一页 ... 31 32 33
    个人资料
    • 访问:280286次
    • 积分:7304
    • 等级:
    • 排名:第3352名
    • 原创:471篇
    • 转载:19篇
    • 译文:0篇
    • 评论:18条