https://vjudge.net/contest/66569#problem/F 题意:判断图中是否存在负权回路 首先,介绍图的邻接表存储方式 数据结构:图的存储结构之邻接表 邻接表建图,类似于头插法建单链表 head[x]:以x为源点的第一条边,初始值为-1. struct edge { int to; int weight; int next;}e[maxn]; to表示被指向的点:weight表示这条边的权重:next表示源点同为x的下一条边,这是遍历以x为源点的的关键 SPFA算法中…
https://vjudge.net/contest/66569#problem/A http://blog.csdn.net/wangjian8006/article/details/7871889 邻接矩阵实现的单源最短路 #include<iostream> #include<cstdio> #include<string> #include<cstring> #include<algorithm> #include<cmath>…
https://vjudge.net/contest/66569#problem/D trick:1~N各点到X可以通过转置变为X到1~N各点 #include<iostream> #include<cstdio> #include<cstring> #include<string> #include<algorithm> #include<cmath> using namespace std; ; const int inf=0x3…
https://vjudge.net/contest/66569#problem/B 类试题:noip2013 货物运输 POJ 1797 Heavy Transportation 方法一:Dijkstra变形 http://blog.csdn.net/u013446688/article/details/42777173 关键在于对松弛的变形,这里不是求源点到每个点的所有路径中的路径长度最小值,而是求源点到每个点的所有路径中Frog distance(路径中的最大距离)的最小值 所以dis[k…
A - Max Sum Plus Plus https://vjudge.net/contest/68966#problem/A http://www.cnblogs.com/kuangbin/archive/2011/08/04/2127085.html /* 状态dp[i][j]有前j个数,组成i组的和的最大值.决策: 第j个数,是在第包含在第i组里面,还是自己独立成组. 方程 dp[i][j]=Max(dp[i][j-1]+a[j] , max( dp[i-1][k] ) + a[j] )…
对于最短路,我主要使用的就是dijkstra,Floyd,SPFA这三个算法.先来介绍一下这三个算法. 1. dijkstra算法.它适用于边权为正的情况,它是单源最短路,就是从单个源点出发到所有的结点的最短路,它同时适用于无向图和有向图. 它是基于贪心的思想,看下伪代码. 1.清除所有点的标记 2.设d[0]=0,其他的d[i]=INF; 3.循环n次{ 在所有的未标记的结点中,选取d值最小的结点x, 给结点x标记 对于所有从x出发的所有的边(x,y),更新d[y]=min(d[y],d[x]…
SPFA求负环 模板题 记得每组处理之前clear vector /* *********************************************** Author :Sun Yuefeng Created Time :2016/10/25 18:02:02 File Name :A.cpp ************************************************ */ #include<cstdio> #include<iostream>…
题意: 在一个有向图中求n头牛从自己的起点走到x再从x走回来的最远距离 思路一开始是暴力跑dij…… 讲道理不太可能…… 然后就百度了一下 才知道把矩阵转置的话就只需要求两次x的单源最短路…… /* *********************************************** Author :Sun Yuefeng Created Time :2016/10/22 20:09:36 File Name :A.cpp *******************************…
求1到N的最短路 注意有重边 跑一遍dijkstra就行 /* *********************************************** Author :Sun Yuefeng Created Time :2016/10/22 14:18:06 File Name :A.cpp ************************************************ */ #include<cstdio> #include<iostream> #inc…
求每条道路的最大承载量 和上一道题差不多 就是松弛的规则从最大值变成了最小值 /* *********************************************** Author :Sun Yuefeng Created Time :2016/10/22 20:09:36 File Name :A.cpp ************************************************ */ #include<cstdio> #include<iostrea…