最短路
文章平均质量分 59
拉风的啤酒肚
菜鸟一枚若发表的文章有所错误望各位大神提出意见
展开
-
最短路模版(dijkstra)
#include#include#includeusing namespace std;const int INF = 1000000000;const int maxn = 1000 + 10;struct Edge { int from, to, dist;};struct HeapNode { int d, u; bool operator < (const原创 2013-11-12 20:25:03 · 639 阅读 · 0 评论 -
PKU1860--Currency Exchange
本题需要注意的是,起点不一定是从1开始,在初始化的时候也需注意。#include #include #include #include #include #define Min(a,b) a<b?a:b#define Max(a,b) a<b?b:a#define M 105*5#define INF 999999999using namespace std;int n,原创 2014-01-15 10:54:23 · 732 阅读 · 0 评论 -
PKU1062------昂贵的聘礼
有三个注意点:1、酋长的地位不一定是最高的;2、这是有向图而不是双向图;3、酋长的地位等级为R,从酋长开始,经过的人的地位等级必在[R-m,R+m]之中,而且经过的人的地位等级的区间长度也为m。本题可以用枚举法+dijkstra做。#include #include #include #include #include #define Min(a,b) a<b?a:b原创 2014-01-14 20:31:47 · 752 阅读 · 0 评论 -
POJ1797--Heavy Transportation
本题可以用dijkstra做,但是dis数组表示的不是从起点到i点的最短距离,而是最大载量,然后再改变下松弛条件,就可以轻松AC。#include #include #include #include #include #define INF 1>>30#define M 1005#define Min(a,b) a<b?a:b#define Max(a,b) a>b?a:b原创 2014-01-15 15:12:06 · 823 阅读 · 0 评论 -
HDU3339--In Action(最短路+0-1背包)
先用最短路求出0到i点的最短距离,然后再用0-1背包做。#include #include #include #include #include #define INF 999999999#define M 105using namespace std;int main(){ int map[M][M],p[M],dp[M*M]; int n,m,t,i,j,k,sum原创 2014-01-25 20:43:08 · 917 阅读 · 0 评论 -
HDU2433(SPFA)
刚开始用dijkstra()+暴力枚举,然后就超时了。后来看了题解才知道这题的关键所在:用sum[i]来存以i为起点的最短路之和,ans表示i从1到n的sum[i]的和,然后摧毁道路之后,以u为起点,看能不能到达v,如果能到达,同时也就说明了以v为起点也能到达u,因为路是双向的,则以u,v为起点,保存它们的最短路之和,答案就是ans-sum[u]-sum[v]+num1+num2;若不能到达,则直原创 2014-03-31 19:08:56 · 835 阅读 · 0 评论 -
HDU1217(bellman_ford判环)
用bellman_ford来判环,就是对所有边进行n-1次松弛,之后若还能进行松弛,则存在环。#include #include #include #include #include #include #define maxn 1005using namespace std;struct Edge{ int from,to; double rate;}edge[max原创 2014-03-22 09:20:46 · 1080 阅读 · 0 评论 -
HDU1595(枚举+最短路(dijkstra))
题意不多说了。。思路就是先走一遍dijkstra,然后p数组记录下路径,然后枚举路径上的边删去之后走dijkstra得到的最短路(想想为什么?我当时做的时候是枚举了图每条边,然后就超时),取最大值。#include #include #include #include #include #include #define maxn 1005#define INF 99999原创 2014-03-24 21:49:03 · 1708 阅读 · 0 评论