最短路
算球?
在校学生
展开
-
poj 3259 Wormholes(bellman-ford)
http://blog.csdn.net/yslcl12345/article/details/50573269 这个题解是用floyd做的,翻译题目翻译的挺好#include <cstdio> const int INF = 999999999; struct node { int u,v,w; };node edges[5500]; int dis[550]; int index; i原创 2017-01-29 16:34:38 · 284 阅读 · 0 评论 -
poj 3268 Silver Cow Party(最短路)
N头牛,求这些牛从他们的位置走到x后,再返回到x的最短路(走不到x的不算)。选出最短路中的最大值,即结果。图是有向图。 首先求x到每个位置最短路,dijkstra,然后再求每个点到x的最短路。求每个点到x的最短路,把矩阵转置一下, 就是x到每个点的最短路了。#include <stdio.h> #include <string.h> #include <algorithm> using names原创 2017-10-06 12:28:56 · 269 阅读 · 0 评论 -
51nod 1366 贫富差距(最短路)
数据这么小,floyd暴力水过 求出任意两点间最短路,找最大的最短路。#include <bits/stdc++.h> using namespace std;const int INF = 550; const int MAXN = 55; int G[55][55];int main() { int T,n,d; char ch; scanf("%d",&T);原创 2017-09-30 19:35:09 · 236 阅读 · 0 评论 -
51nod 1459 迷宫游戏
#include <cstdio> #include <cstring> #include <set> #include <algorithm> using namespace std;const int INF = 0x3f3f3f3f; const int MAXN = 510; int G[MAXN][MAXN]; int Score[MAXN]; int Dist[MAXN]; bool V原创 2017-06-08 20:09:34 · 245 阅读 · 0 评论 -
codeforces 813C. The Tag Game
思路:计算出所有点到1号点的最短距离,到x号点的最短距离,然后找到一些这样的点,这个点到x点的距离小于到1号点的距离,然后选出这些点中距离1号点最远的点就是结果。 #include <cstdio> #include <cstring> #include <vector> #include <queue> using std::priority_queue; using std::vector; c原创 2017-06-06 18:15:48 · 372 阅读 · 0 评论 -
poj 1556 The Doors(最短路+几何)
题意:有一个小屋,起点在(0,5),重点在(10,5),中间有0—18堵墙,每堵墙上有两个门,求起点到终点最短路 思路:起点和终点和门的端点建图求最短路,在求两个端点之间的距离(直线距离)的时候要判断两个端点之间是否有墙隔着#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <原创 2017-03-31 15:53:32 · 565 阅读 · 0 评论 -
hdu 1595 find the longest of the shortest(dijkstra)
我写的超时了,看了别人的解题报告 #include #include #define INF 99999999 int map[1001][1001]; int vis[1001],dis[1001],link[1001]; int n,m; int max(int a, int b) { return a > b ? a : b; } void dijkstra(int s,原创 2016-05-30 20:16:19 · 274 阅读 · 0 评论 -
hdu 1874 畅通工程续(bellman-ford,dijkstra)
#include #define INF 99999999 int u[2200],v[2200],w[2200]; int dis[210]; int main() { int n,m,i,k; while(scanf("%d %d",&n,&m) != EOF) { for(i = 0; i < m; ++i) {原创 2016-05-30 22:36:04 · 395 阅读 · 0 评论 -
hdu 2066 一个人的旅行(dijkstra)
#include #include #define INF 99999999 int map[1001][1001]; int dis[1001],book[1001]; int start[1001],end[1001]; void dijkstra(int s, int n) { memset(book,0,sizeof(book)); int i,u,v,min,j;原创 2016-05-30 07:32:04 · 325 阅读 · 0 评论 -
UVA 10000 Longest Paths(SPFA)
题意是让求最长路,和最短路思想一样 代码是套的kuangbin的SPFA的模板#include <iostream> #include <vector> #include <queue> #include <cstring> using namespace std;const int MAXN = 110;struct Edge { int v,cost; Edge(int _v原创 2016-12-01 19:34:45 · 374 阅读 · 0 评论 -
poj 2240 Arbitrage(bellman-ford)
和poj 1860 差不多,求正权回路#include <iostream> #include <string> #include <map> #include <cstring> using namespace std;struct node { int a,b; double r; };node edges[1000]; double dis[100]; map<string,i原创 2017-02-01 17:25:49 · 263 阅读 · 0 评论 -
poj 1125 Stockbroker Grapevine(floyd)
http://blog.csdn.net/lyy289065406/article/details/6645856这个题解题目翻译的很棒。题目很简单#include <cstdio> #include <cstring> #define INF 999999 #define MAXN 110int map[MAXN][MAXN]; int n;void floyd() { for(int k原创 2017-01-29 19:44:59 · 228 阅读 · 0 评论 -
poj 2112 Optimal Milking(最大流,二分,floyd)
最小化最大值,二分。先用floyd处理两点之间的最短路,然后二分距离,判断当前距离是否合法。因为题目说至少有一个解,所以二分时对与每个距离,判断最大距离是当前距离的情况,能否使每头牛都接受服务。一直找到最小的最大距离。 心态写炸了,一直tle。http://www.hankcs.com/program/algorithm/poj-2112-optimal-milking-manager.html原创 2017-10-28 16:04:39 · 187 阅读 · 0 评论