
贪心
文章平均质量分 77
RookieGD
游戲開發學習
展开
-
迪杰斯特拉求最短路径(JAVA实现)
Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。求最短路径步骤 算法步骤如下: 1. 初使时令 S={V0},T={其余顶点},T中顶点对应的距离值 若存在,d(V0,Vi)为弧上的权值 若不存在,d(V0,Vi)为∝ 2. 从T中选取一个原创 2012-03-25 12:01:30 · 12180 阅读 · 1 评论 -
poj1328
这题使用贪心的思想,对岛屿在x轴上覆盖位置的靠左边的坐标排序,然后便是尽量少放置雷达,我的解法是把点按横坐标排序,然后把每个点的雷达尽量往右放,然后每放一个雷达都要保证雷达左面的岛都被雷达所覆盖。所以我们可以按一个点靠右放完雷达后,再根据后面的在雷达位置左面的点,把雷达向左移。一个雷达经过了移的过程,就一定是能覆盖左面的岛。代码如下:#include#includeusing namesp原创 2012-07-20 23:06:23 · 517 阅读 · 0 评论 -
poj1062
就是对迪杰斯特拉算法的应用,不同的人代表不同的节点,旅行者作为起点 与其他点之间的权值就是直接购买货物的价格,其他两点之间的权值就是除了换物品外还要加的价格,其中要注意一点,就是这里有等级限制,所以并不是可以把所有点加进去。这里可以用枚举的思路。#includeusing namespace std;const int MAX = 0x7ffffff;const int MAXN = 1原创 2012-07-20 23:58:10 · 441 阅读 · 0 评论