
算法之最短路径
文章平均质量分 69
code_mryxj
这个作者很懒,什么都没留下…
展开
-
POJ 3268 Silver Cow Party(最短路 dijkstra求任意两点最短路)
题意:奶牛派对:有分别来自 N 个农场的 N 头牛去农场 X 嗨皮,农场间由 M 条有向路径连接。每头牛来回都挑最短的路走,求它们走的路的最大长度?奶牛派对:有分别来自 N 个农场的 N 头牛去农场 X 嗨皮,农场间由 M 条有向路径连接。每头牛来回都挑最短的路走,求它们走的路的最大长度? 开始思路,就是求某个点到x加上x到这某个点距离最大,直接floyed,1000数据果然TLE,dijkstr原创 2015-08-22 12:23:35 · 1012 阅读 · 0 评论 -
poj1797
和poj2253对应,这个求 两个点之间路劲 最短那条边的最大化。可以用 变形的dijkstra ,注意这题数据比较大floyed复杂度太高,不能用,还可以转换成 最大生成树 输出最小边(最佳)。 dijkstra#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int inf=999原创 2015-08-22 00:16:15 · 707 阅读 · 0 评论 -
poj2253
题意:青蛙要从点1出发到点2去,每条边之间距离为权值,中间可能经过很多点,有不同路径,问每条1到2可行路中某一条路径的最大值的最小情况是多少。类似最短路问题,更改一下几个变量定义,用dijkstra,floyed都可以做,也可以等价求最小生成树里最大边的问题。 dijkstra 这里dist[i]定义是,第i个点到起点路径中最大边的边,由于求的是最小的情况,松弛还是用每次确定的最短边进行松弛!#原创 2015-08-21 21:57:08 · 358 阅读 · 0 评论 -
poj3225 Roadblocks
题意:某道路共有R条道路,N个路口。问从1号路口到N路口的次短路是?次短路是比最短路长度次短的路径。 思路:Dijkstra 算法虽然只能求最短路,但是我们修改一下。次短路:要么是到终点的前某一个点的最短路加上它到终点的路,或者是要么到它的次短路加上到终点的最短路。因此,对于每个顶点,我们记录的不仅是最短路,还有 次短路距离。接下来就是和Dijkstra()一样的做法,不断更新这两个距离就可以求出原创 2016-04-02 18:25:13 · 339 阅读 · 0 评论 -
poj2387 Til the Cows Come Home(邻接矩阵,邻接表 )
最基础的最短路问题模板题,非常适合我学习使用如何用邻接表存图(之前都是邻接矩阵),太弱了,暑假过一半,现在才刚窥初仪,不过话说邻接表在边比较少的情况下真的很节省空间。 邻接矩阵 对于邻接矩阵,这题有重边,加一个判重,存重边中短的。 Memory: 4480 KB Time: 63 MS #include<cstdio>#include<cstring>#define i原创 2015-08-08 12:13:56 · 602 阅读 · 0 评论 -
最短最优升级路径(某公司面试编程题)
最短最优升级路径 时间限制:C/C++语言 1000MS;其他语言 3000MS 内存限制:C/C++语言 65536KB;其他语言 589824KB 题目描述: 游戏网站提供若干升级补丁,每个补丁大小不一,玩家要升级到最新版,如何选择下载哪些补丁下载量最小。 输入 第一行输入 第一个数为用户版本 第二个数为最新版本,空格分开 接着输入N...原创 2016-09-19 21:09:47 · 2327 阅读 · 1 评论 -
UVALive 6955 Finding Lines(奇特的过题方式)
题意:给 n(10^5)个点,问是否满足超过%p的点在同一条直线上。 思路:枚举任意两点的搞肯定超时,我也是第一次知道随机化过题(知乎上看到)。随机选择任意两点,在枚举一遍。这题时限是20s,我尝试随机500,1000,10000都可以过。#include<bits/stdc++.h>using namespace std;const int N=100000+10;int x[N],y[N原创 2016-10-18 00:04:03 · 562 阅读 · 0 评论